Obecnie przebudowuję swoje vps i chciałbym użyć opiekuna do zarządzania moimi procesami gunicorn / wsgi django. Rzecz w tym, że przełożony opuszcza procesy:
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
Oto konfiguracja, której używam:
[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
Już dwukrotnie sprawdziłem, a gunicorn_django zwraca status 0, gdy jest poprawnie spawnowany.
Próbowałem dodać kody zakończenia = 0,2 jawnie do konfiguracji, ale to też nie wydaje się mieć znaczenia. Wygląda na to, że proces został zaszczepiony poprawnie, ale przełożony uważa, że nie.
Czy ktoś ma jakiś pomysł, jak to rozwiązać?
Dzięki, Bjorn
źródło
Ok, po kilku zagadkach zorientowałem się, że ma to coś wspólnego z użytkownikami. Próbowałem uruchomić moje procesy potomne jako określony użytkownik. Po usunięciu linii (zobacz moją konfigurację poniżej) wszystko działa dobrze.
Konfiguracja Gunicorn:
Konfiguracja nadzorcy:
źródło
Wystąpił podobny błąd podczas próby uruchomienia demona http pod nadzorem.
Naprawiono przez usunięcie starego pliku pid: httpd_pid
źródło