supervisord 始终 returns 在 WebFaction 退出状态 127
supervisord always returns exit status 127 at WebFaction
跟踪日志时,我不断从 webFaction 的 supervisord 收到以下错误:
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.conf 相同的目录启动 supervisord:
$ supervisord -c ./supervisord.conf
但我似乎找不到正确的设置组合。我需要能够做三件事:
- 在后台启动我的 celery worker 并保留它们 运行。
- 部署代码时停止 celery worker。
- 部署完成后重新启动 celery worker。
但是,在解决错误之前,我无法执行任何操作。我做错了什么?
退出代码 127 表示 "command not found":
http://www.tldp.org/LDP/abs/html/exitcodes.html
尝试将完整路径传递给 celery
命令:
command=/home/something/bin/celery worker -A my_app --concurrency=3 --loglevel=debug
此外,请尝试在 [program:x]
部分中设置 redirect_stderr
和 stdout_logfile
选项以捕获错误消息并使调试更容易。
跟踪日志时,我不断从 webFaction 的 supervisord 收到以下错误:
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.conf 相同的目录启动 supervisord:
$ supervisord -c ./supervisord.conf
但我似乎找不到正确的设置组合。我需要能够做三件事:
- 在后台启动我的 celery worker 并保留它们 运行。
- 部署代码时停止 celery worker。
- 部署完成后重新启动 celery worker。
但是,在解决错误之前,我无法执行任何操作。我做错了什么?
退出代码 127 表示 "command not found":
http://www.tldp.org/LDP/abs/html/exitcodes.html
尝试将完整路径传递给 celery
命令:
command=/home/something/bin/celery worker -A my_app --concurrency=3 --loglevel=debug
此外,请尝试在 [program:x]
部分中设置 redirect_stderr
和 stdout_logfile
选项以捕获错误消息并使调试更容易。