supervisord всегда возвращает статус выхода 127 в WebFaction
Я продолжаю получать следующие ошибки от supervisord на webFaction при отслеживании журнала:
INFO exited: my_app (exit status 127; not expected)
INFO gave up: my_app entered FATAL state, too many start retries too quickly
Вот мой supervisord.conf:
[unix_http_server]
file=/home/btaylordesign/tmp/supervisord.sock
[rpcinterface:supervisor]
supervisor.rpcinterface_factory=supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///home/btaylordesign/tmp/supervisord.sock
[supervisord]
logfile=/home/btaylordesign/tmp/supervisord.log
logfile_maxbytes=50MB
logfile_backups=5
loglevel=info
nodaemon=false
pidfile=/home/btaylordesign/tmp/supervisord.pid supervisord.pid
[program:my_app]
directory=/home/btaylordesign/webapps/my_app/my_app
command=celery worker -A my_app --concurrency=3 --loglevel=debug
Я запускаю supervisord из той же директории, что и supervisord.conf:
$ supervisord -c ./supervisord.conf
но я не могу найти правильную комбинацию настроек. Мне нужно уметь делать три вещи:
- Запустите моих работников из сельдерея на заднем плане и продолжайте их работать.
- Остановите работников сельдерея, когда я разверну код.
- Перезапустите работников сельдерея, когда развертывание будет завершено.
Но я не могу ничего сделать, пока не устраню ошибку. Что я делаю неправильно?
1 ответ
Решение
Код выхода 127 означает "команда не найдена":
http://www.tldp.org/LDP/abs/html/exitcodes.html
Попробуйте пройти полный путь к celery
команда:
command=/home/something/bin/celery worker -A my_app --concurrency=3 --loglevel=debug
Кроме того, попробуйте установить redirect_stderr
а также stdout_logfile
варианты в вашем [program:x]
раздел для захвата сообщения об ошибке и упрощения отладки.