L'exécution d'un Rubis Programme en tant que Service Windows?
Est-il possible d'exécuter une application ruby comme un Service de Windows? Je vois qu'il y a une question connexe, qui traite de l'exécution d'un Java de l'Application en tant que Service Windows, comment pouvez-vous faire cela avec une application Ruby?
Vous devez vous connecter pour publier un commentaire.
Découvrez la bibliothèque suivante: Win32Utils. Vous pouvez créer un service simple qui vous pouvez démarrer/arrêter/redémarrer à votre guise. Je suis en train de l'utiliser pour gérer un Métis exemple pour un Windows hébergé application Rails, et il fonctionne parfaitement.
Lors de la tentative de la Win32Utils on vraiment besoin de studie la doc et de regarder sur le net avant de trouver un simple exemple de travail.
Cela semble fonctionner aujourd'hui 2008-10-02:
gem install win32-service
Mise à jour 2012-11-20:
Selon https://stackoverflow.com/users/1374569/paul
le register_bar.rb devrait maintenant être
bar.rb
créer l'application/démon
bar.rb est le service, mais nous devons créer et enregistrer les premiers!
cela peut être fait avec sc créer some_service
mais si nous allons utiliser ruby et win32utils on devrait faire un
register_bar.rb
Remarque, il y a un espace entre c:\tmp\ bar.rb dans 'c:\usr\ruby\bin\rubyw.exe -C c:\tmp\ bar.rb'
Exécuter
ruby register_bar.rb
et maintenant, on peut démarrer le service, soit par le service windows panneau de contrôle ou
et de regarder c:test.log être rempli avec de l'
Le Service est en cours d'exécution Jeu Oct 02 22:06:47 +0200 2008
Pour la simple d'avoir quelque chose à travailler avec, il est plus facile de retirer le service de registre et de créer un nouveau lieu de modifier un existant
unregister_bar.rb
Crédits pour les personnes
http://rubypane.blogspot.com/2008/05/windows-service-using-win32-service-and_29.html
http://rubyforge.org/docman/view.php/85/595/service.html
begin
après la définition de classe, directement avant leDemoDaemon.mainloop
, le script fonctionne toujours de la même manière?Ici est un modèle de code à faire firedeamon 🙂
Vous pouvez écrire (ou télécharger) un service wrapper. L'emballage peut appeler la ruby.exe pour l'exécution de votre programme. Astuce fonctionne pour Java, VB, etc.
Vous devriez être en mesure d'accomplir ceci dans IronRuby puisque vous avez l' .NET framework derrière vous.