2010-03-24 5 views
0

Je souhaiterais pouvoir démarrer un serveur mongrel ou webrick en transmettant un argument de ligne de commande supplémentaire que je peux lire quelque part dans mon application rails. Un exemple serait:Démarrage de mongrel avec un argument de ligne de commande personnalisé

ruby script/server -p3000 --target=FOO 

Ici, --target est un commutateur personnalisé qui est la valeur que je voudrais intercepter dans ma rails application.

Cependant, cela donne l'erreur:

server: invalid option: --target=FOO 

J'ai trouvé la documentation bâtarde qui mentionne un argument -C (--config = PATH) spécifiant un chemin d'accès complet à un fichier de configuration de YML, mais en spécifiant que le commutateur donne la même erreur que ci-dessus. Je présume que cette option est obsolète.

Existe-t-il un autre moyen d'accomplir ceci?

Répondre

0

Vous ne pouvez pas passer à mongrel/webrick un argument de ligne de commande supplémentaire sans réécrire le code de traitement d'argument. Si mongrel/webrick ne reconnaît pas l'option, il se plaindra et donnera une erreur. Plutôt que de réécrire le traitement des arguments, pourquoi ne pas placer la valeur personnalisée dans une variable d'environnement et demander à votre application d'interroger la variable? Vous pouvez ajouter votre propre script pour gérer le démarrage de mongrel/webrick et paramétrer l'environnement afin qu'une seule commande démarre tout.

+0

Nous fonctionnons sous Windows Server et en production utilisent mongrel_service. S'il y a un endroit où je peux ajouter un processeur de ligne de commande qui suce les options qui m'intéressent et travaille dans mongrel, webrick, mongrel_service et peut-être même passager de phusion que je voudrais faire cela. – whaka

+0

Vraiment frustrant, c'est que si j'utilise le commutateur -C pour spécifier un fichier YAML de configuration, il est également rejeté s'il contient quelque chose que mongrel_rails ne comprend pas. – whaka

Questions connexes