Comment définir différents signaux d'arrêt / redémarrage avec upstart


8

Je commence à convertir tous nos systèmes en utilisant upstart pour gérer nos différents processus d'application. Une chose qui me manque constamment est la capacité d'envoyer un signal différent au processus stopou aux restartévénements.

Par exemple, nous exécutons nos processus Web avec Unicorn . Unicorn possède une excellente API de gestion des signaux. Lorsque je veux recharger le processus avec élégance, j'envoie au maître pid un signal USR2. Pour les fermer correctement, j'envoie une commande QUIT. TERM (signal d'arrêt par défaut de l'arrivé) constitue un arrêt immédiat.

Un autre exemple utilise Resque . Pour arrêter gracieusement un travailleur, je lui envoie le signal QUIT. Le signal TERM provoque à nouveau un arrêt immédiat, que l'enfant du travailleur soit bifurqué ou non.

Upstart prend-il en charge les signaux personnalisés? Je n'arrive pas à le trouver n'importe où, ce qui m'inquiète que j'utilise le "mauvais outil pour le travail".

Réponses:


4

Ubuntu 10.04 est livré avec la version 0.6.6 upstart qui a les paramètres kill signaletkill timeout qui configureraient les valeurs de signal et de timeout pertinentes. Le signal "recharger" est codé en dur pour SIGHUP.

Les versions plus récentes d' upstartintroduire le reload signalparamètre - voir les autres réponses à cette question pour plus de détails.


Bon à savoir, je ne sais pas pourquoi le signal de rechargement est codé en dur, mais je suppose que je devrai vivre avec pour le moment.
localshred

Selon la réponse de diclophis ci-dessous, cela est désormais possible via reload signal SIGUSR2, mais nécessite upstart v 1.10.0.
ghayes

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.