Je suis en train de reconstruire mon vps, et j'aimerais utiliser le superviseur pour gérer mes processus django gunicorn / wsgi. Le fait est que le superviseur continue de quitter les processus:
2010-07-23 14:54:40,575 INFO supervisord started with pid 31391
2010-07-23 14:54:41,582 INFO spawned: 'projectx' with pid 31395
2010-07-23 14:54:41,691 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:42,695 INFO spawned: 'projectx' with pid 31401
2010-07-23 14:54:42,801 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:44,806 INFO spawned: 'projectx' with pid 31404
2010-07-23 14:54:44,912 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:47,917 INFO spawned: 'projectx' with pid 31408
2010-07-23 14:54:48,022 INFO exited: projectx (exit status 0; not expected)
2010-07-23 14:54:49,023 INFO gave up: projectx entered FATAL state, too many start retries too quickly
Voici la configuration que j'utilise:
[program:projectx]
command=/path/to/project/bin/gunicorn_django -c /path/to/project/project/gunicorn.conf.py /path/to/project/project/production.py
user=myuser
autostart=true
autorestart=true
J'ai déjà revérifié et gunicorn_django retourne le statut 0 quand il est correctement généré.
J'ai essayé d'ajouter explicitement exitcodes = 0,2 à la configuration, mais cela ne semble pas faire de différence non plus. Il semble que le processus soit correctement généré, mais le superviseur pense que ce n'est pas le cas.
Quelqu'un at-il une idée de la façon de résoudre ce problème?
Merci, Bjorn
la source
Ok, après quelques énigmes, j'ai compris que cela avait quelque chose à voir avec les utilisateurs. J'ai essayé d'exécuter mes processus enfants en tant qu'un certain utilisateur. Après avoir supprimé la ligne (voir ma config ci-dessous), tout fonctionne bien.
Config Gunicorn:
Configuration du superviseur:
la source
J'ai eu une erreur similaire en essayant d'exécuter un démon http sous superviseur.
Corrigé en supprimant l'ancien fichier pid: httpd_pid
la source