2017-05-03 108 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/ 
... 
相關問題