J'ai un script parvenu pour démarrer une application nodejs personnalisée. L'application dépend de couchdb et elasticsearch. couchdb et elasticsearch fournissent des scripts init.d pour les démarrer / les arrêter. Est-il possible de dire à mon script parvenu que couchdb et elasticsearch sont des dépendances? J'ai essayé cela dans mon script parvenu mais cela ne semble pas fonctionner:
start on (a commencé couchdb et a commencé elasticsearch)
Merci!
Réponses:
La seule chose que je sais qui fonctionnerait est de créer (ou rechercher et installer) des scripts upstart pour elasticsearch et couchdb afin que vous puissiez utiliser l'option "start on".
la source
J'avais la même question et j'ai également trouvé une réponse différente . Les listes d'auteur 4 options pour ce faire , dont je comme le premier meilleur:
Utilisez
initclt emit myservice-started
pour signaler la fin du démarrage de votre service dépendant. Dans la réponse liée, il est suggéré d'ajouter cette ligne à la fin duinit.d
script du service de dépendance , mais je préfère une méthode différente. J'aime créer un nouveauinid.d
script nommémyservice-started
qui ne contient qu'unestart
section. En utilisant le style de commentaire approprié dans l'en-tête du fichier, je déclare qu'il dépend du$myservice
démarrage. Dans lastart
section, je raconte par-dessus lemyservice
démarrage. Vous pouvez l'installer avecupdate-rc.d
.J'aime cette solution car elle n'est pas intrusive; si une mise à jour modifie l'un des
init.d
scripts existants , elle n'affectera pas ces scripts supplémentaires. Mais rappelez-vous que des modifications de vos scripts de démarrage sont nécessaires.Cela pourrait ressembler à ceci:
Votre script upstart en attente de myservice peut écouter l'
myservice-started
événement:la source