Celery 在使用 uwsgi 运行 django 项目时没有收到任务



当我用 manage.py 运行我的 django 项目时,芹菜正在工作。但是,使用 uwsgi 部署项目时,情况并非如此。

运行芹菜的命令:

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"

在生产中,您应该将芹菜扭曲为守护进程。我建议为此使用主管。

安装主管:

$ 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

相关内容

  • 没有找到相关文章