2017-08-08 36 views
0

當我使用manage.py運行我的django項目時,芹菜正在工作。但是,在使用uwsgi部署項目時,它不是。當使用uwsgi運行django項目時,芹菜不會收到任務

命令來運行芹菜:

celery --app=project.celery:app worker --loglevel=INFO 

開始uwsgi,我使用下面的腳本:

#!/bin/bash 
uwsgi --chdir=~/tender \ 
     --module=project.wsgi:application \ 
     --env DJANGO_SETTINGS_MODULE=project.settings \ 
     --master \ 
     --protocol=http \ 
     --pidfile=/tmp/project-master.pid \ 
     --socket=0.0.0.0:6969 \ 
     --processes=5 \ 
     --uid=1000 \ 
     --gid=1000 \ 
     --harakiri=20 \ 
     --max-requests=5000 \ 
     --vacuum \ 
     --home=~/.virtualenv3/tendervenv \ 
     --daemonize=~/tender.log \ 
     echo "uWSGI started" 

回答

0

在生產中,你應該扭轉芹菜守護進程。我建議使用該主管。

安裝主管:

$ sudo apt-get install supervisor 

在/etc/supervisor/conf.d/創建ini文件:

[program:celeryd] 
command=/home/user/.virtualenvs/yourvenv/bin/celery worker --app=myapp -l info 
stdout_logfile=/path/to/your/logs/celeryd.log 
stderr_logfile=/path/to/your/logs/celeryd.log 
autostart=true 
autorestart=true 
startsecs=10 
stopwaitsecs=600 

初始化主管

$ supervisord 

見文檔。 http://supervisord.org/introduction.html