web-dev-qa-db-fra.com

Comment configurer gunicorn?

Upstart n'aime pas démarrer gunicorn car il essaie d'appeler setpgrp (voir question de github ). Quel serait le meilleur moyen de démarrer [gunicorn] sur une installation de serveur 10.04.1? - Idéalement avec un redémarrage automatique du processus principal ayant échoué et de plusieurs travailleurs. Sur le site de Gunicorn, ils mentionnent [runit] et [supervisord], cela vaut-il la peine d'installer un autre type de superviseur de processus en plus du programme de démarrage d'Ubuntu?

Je vais documenter les progrès ici après les examens si quelqu'un ne propose pas une meilleure solution.

OK j'ai essayé:

respawn
respawn limit 10 5

expect daemon # also tried expect fork

exec python /path/to/manage.py run_gunicorn --daemon

mais je n'arrive pas à avoir le boulot pour commencer, ça accroche? rien n'apparaît dans ps aux | grep manage ou dans le syslog, j'imagine que le démarrage ne prend pas la fourchette correctement. Est-ce parce que j'utilise manage.py au lieu de gunicorn directement? Je donnerai directement le coup dès que j'en aurai l'occasion.

Précision: manage.py provient d’une instance de Django 1.2 avec gunicorn en tant qu’application installée, mais pas de paramètres spéciaux dans settings.py (je ne connais pas la syntaxe permettant de spécifier le port de Gunicorns)/address/workers dans settings.py, donc je comptais simplement utiliser cmdline args)

5
adonm

Je viens juste de commenter la question de github également.

Comme il semble y avoir un problème avec setpgrp et gunicorn, vous obtiendrez de meilleurs résultats si vous le lancez avec

attendre fourche

Ajouté à la définition de travail récente.

donc quelque chose comme

start on runlevel [2345]
stop on runlevel [!2345]

respawn
expect fork

exec /path/to/gunicorn --daemon

Devrait bien fonctionner.

'man 5 init' est une mine d'informations et devrait aider à comprendre pourquoi les choses fonctionnent de cette façon.

5
SpamapS

Nous venons de proposer un patch au maître Gunicorn [1] qui vous permettra d’utiliser Gunicorn avec Upstart. Vous ne devriez pas avoir besoin d'utiliser les directives de configuration "expect fork" avec cette version.

[1] https://github.com/benoitc/gunicorn

3
Paul J. Davis