web-dev-qa-db-fra.com

redémarrer de manière fiable des services en utilisant upstart ou runit

Je souhaite redémarrer de manière fiable les processus de mon application et de mon serveur Web en cas de blocage.

Si je comprends bien, runit démarre chaque service en tant que processus enfant. Si le processus enfant se bloque, cela envoie un signal au processus parent, qui réaffirme le service en tant qu'enfant.

Comment cela fonctionne dans le cas de parvenu. Est-ce que cela génère également un processus enfant comme runit?

J'envisage d'utiliser runit pour cela. Est-ce nécessaire ou est-ce que le débutant est suffisant pour cela?

J'utilise nginx pour mon serveur Web et gunicorn (python) pour mon serveur d'applications.

7
murtaza52

Upstart est parfait pour cela, voir la strophe respawn: http://upstart.ubuntu.com/cookbook/#respawn . Upstart est un processus init, pid 1, parent de tous les autres processus.

4
Tuminoid