2009-10-15 10 views
1

J'ai un script que je veux boucler indéfiniment en dehors de mon application rails, essentiellement c'est écrire des valeurs sur série (avec la bibliothèque SerialPort), puis-je nous backticks pour exécuter mon script? Enfin, ma plus grande préoccupation est que le script va bloquer les demandes à mon application rails alors qu'il est en cours d'exécution. Je veux qu'il génère son propre processus, est-ce possible sans utiliser l'une de ces solutions d'arrière-plan ou de Workling/Starling? Le lancement d'un programme par l'arrière va bloquer le programme qui l'a appelé.Exécution d'un script Ruby en dehors de mon application rails?

+0

Est-ce qu'il va utiliser des modèles/code de votre application rails? –

Répondre

2

Si vous avez un accès shell à la boîte, vous pouvez utiliser ./script/runner 'ValueWriter.run' pour exécuter un code avec l'environnement rails.

Vous pouvez utiliser god ou monit pour vous assurer que ce processus est en cours d'exécution (redémarrez-le lorsqu'il se bloque) à tout moment.

Ou mieux, include 'config/environment' au début de votre script.

Ou mieux encore, utilisez script/runner et enveloppez-le dans Daemons.

0

Ce que vous cherchez est Drb. This link devrait couvrir tout ce que vous devez savoir.

Questions connexes