Enviroment
- 主管:4.1.0
- 蟒蛇:3.6.9
地位
我正在尝试与主管一起守护芹菜过程。
配置文件如下。/etc/supervisor/supervisord.conf
; supervisor config file
[unix_http_server]
file=/var/run/supervisor.sock ; (the path to the socket file)
chmod=0700 ; sockef file mode (default 0700)
[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
[include]
files = /etc/supervisor/conf.d/*.conf
/etc/supervisor/conf.d/celeryd.conf
[program:celeryd]
user=user_name
directory=/home/user_name/my_app/api/
command=celery -A v2 worker --loglevel=INFO --concurrency=10 --maxtasksperchild=5000 -Q=celery
environment=MY_APP_DEPLOY_CONFIG=production
redirect_stderr=true
stdout_logfile=/var/log/celeryd.log
autostart=true
autorestart=true
问题
尝试启动进程时,将发生以下错误。
$ sudo supervisorctl restart all
celeryd: ERROR (no such file)
$ sudo supervisorctl start all
celeryd: ERROR (no such file)
$ sudo supervisorctl status
celeryd FATAL can't find command 'celery'
奇怪的是,如果我编辑 conf 文件并执行supervisor reread
,它可以正常工作
$ sudo supervisorctl reread
celeryd: changed
我该怎么办?
如果你使用virtualenv,你应该在命令中指定芹菜的完整路径
command = /full_path_to_celery/celery -A v2 worker --loglevel=INFO --concurrency=10 --maxtasksperchild=5000 -Q=celery
此外,您可能从您的用户系统无法芹菜,您可以使用您的用户通过身份验证轻松检查它,如果它输出您有权访问它的路径,则键入which celery
。