2017-05-03 77 views
1

我需要启动Celery守护进程作为uWSGI.ini文件中smart-attach-daemon的帮助。烧瓶+ uWSGI +芹菜 - 如何启动Celery作为守护进程

当我从命令行启动芹菜服务器命令: /home/xxxxx/xxxxx/venv/bin/celery worker -A celery_worker.celery --loglevel=info --purge 所有的作品很好。

但我不知道如何启动这个服务器作为守护进程。

在文档(http://uwsgi-docs.readthedocs.io/en/latest/AttachingDaemons.html) 是信息:

管理芹菜:

[uwsgi] 
master = true 
socket = :3031 
smart-attach-daemon = /tmp/celery.pid celery -A tasks worker --pidfile=/tmp/celery.pid 

当我使用:

smart-attach-daemon = %(base)aaa/celery.pid %(base)venv/bin/celery worker --pidfile=%(base)aaa/celery.pid --config=%(base)celeryconfig.py --workdir=%(base)app 

在日志我看到:

[uwsgi-daemons] found valid/active pidfile for "/home/xxxx/xxxxx/venv/bin/celery worker --pidfile=/home/xxxx/xxxxx/aaa/celery.pid --config=/home/xxxx/xxxxx/celeryconfig.py" (pid: 6901) 

和芹菜大概工作正常。

但是当我尝试添加了我的工人“-A”参数:

smart-attach-daemon = %(base)aaa/celery.pid %(base)venv/bin/celery -A celery_worker.celery --pidfile=%(base)aaa/celery.pid --config=%(base)celeryconfig.py --workdir=%(base)app 

在日志中我看到错误消息:

ImportError: No module named 'celery_worker' 

拜托,怎么我就可以开始我的芹菜服务器特定的工作文件?

或者说,我怎么可以运行命令:

`/home/xxxxx/xxxxx/venv/bin/celery worker -A celery_worker.celery --loglevel=info --purge 

为智能连接守护?

感谢您的任何答案。

回答

1

你可以发布你的整个uwsgi配置文件吗?

我认为它与uwsgi没有正确识别你的virtualenv目录/ PYTHONPATH有关。

尝试添加这些到您的uwsgi文件:

[uwsgi] 
chdir = /home/xxxxx/xxxxx 
home = /home/xxxxx/xxxxx/venv/ 
... 
相关问题