Actualmente estoy reconstruyendo mis vps, y me gustaría usar un supervisor para administrar mis procesos gunicorn / wsgi django. La cosa es que el supervisor sigue saliendo de los procesos:
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
Esta es la configuración que estoy usando:
[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
Ya verifiqué dos veces, y gunicorn_django devuelve el estado 0 cuando se genera correctamente.
Intenté agregar exitcodes = 0,2 explícitamente a la configuración, pero eso tampoco parece hacer la diferencia. Parece que el proceso se genera correctamente, pero el supervisor cree que no.
¿Alguien tiene idea de cómo resolver esto?
Gracias Bjorn
fuente
Ok, después de un poco de confusión, descubrí que tenía algo que ver con los usuarios. Traté de ejecutar mis procesos secundarios como un determinado usuario. Después de eliminar la línea (ver mi configuración a continuación), todo funciona bien.
Configuración de Gunicorn:
Supervisor config:
fuente
Recibí un error similar al intentar ejecutar un demonio http bajo supervisión.
Solucionado al eliminar el viejo archivo pid: httpd_pid
fuente