我有一个Django应用程序(名为pcycler),需要与celeri一起运行。我正试图与主管一起在生产中部署这个。在
运行时出错:
supervisorctl start celery
这给了我:
celery: ERROR (abnormal termination)
这是我的芹菜.conf文件,它包含在主管.conf开始时。在
[program:celery]
command=/webapps/pcyclerenv/bin/celery -A pcycler worker -l info
directory=/webapps/pcyclerenv/pcycler
user=pcycleruser
numprocs=1
stdout_logfile=/webapps/pcyclerenv/logs/celeryd_stdout.log
stderr_logfile=/webapps/pcyclerenv/logs/celeryd_stderr.log
redirect_stderr=false
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=600
killasgroup=true
priority=998
芹菜的内容物_标准日志是:
^{pr2}$很自然,我决定自己运行这个程序,看看是否可以重复这个错误:
pcycleruser@raspberrypi:/webapps/pcyclerenv/pcycler$ pwd
/webapps/pcyclerenv/pcycler
pcycleruser@raspberrypi:/webapps/pcyclerenv/pcycler$ /webapps/pcyclerenv/bin/celery -A pcycler worker -l info
(... text and pickle deprecation warnings ...)
[2014-05-23 14:52:36,053: WARNING/MainProcess] /webapps/pcyclerenv/local/lib/python2.7/site-packages/celery/fixups/django.py:233: UserWarning: Using settings.DEBUG leads to a memory leak, never use this setting in production environments!
warnings.warn('Using settings.DEBUG leads to a memory leak, never '
[2014-05-23 14:52:36,066: WARNING/MainProcess] celery@raspberrypi ready.
这样就行了。但是,当我在错误的目录中时,例如:
pcycleruser@raspberrypi:/webapps/pcyclerenv/pcycler$ cd ..
pcycleruser@raspberrypi:/webapps/pcyclerenv$ pwd
/webapps/pcyclerenv
pcycleruser@raspberrypi:/webapps/pcyclerenv$ /webapps/pcyclerenv/bin/celery -A pcycler worker -l info
Traceback (most recent call last):
File "/webapps/pcyclerenv/bin/celery", line 11, in <module>
sys.exit(main())
File "/webapps/pcyclerenv/local/lib/python2.7/site-packages/celery/__main__.py", line 30, in main
main()
(... exact same error as above ...)
ImportError: No module named pcycler
我得到的错误与错误日志中的完全相同!这导致我假设当我在supervisor中运行时,目录没有被正确地更改。在
tldr:为什么目录不在我的主管.conf在我使用supervisorctl运行命令时被应用?在
发现了错误,它真的是愚蠢的。在
Supervisor conf文件是特定于订单的,因此请执行以下操作:
解决了我的问题。在
相关问题 更多 >
编程相关推荐