当我使用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"
答案 0 :(得分:1)
在生产中你应该把芹菜作为守护进程。我建议使用主管。
安装主管:
$ 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