celery multi命令
在生产环境中,需要在后台运行worker。我们可以用supervistor,也可以用celery自带的multi进行启动守护进程。
celery multi不存储有关工作程序的信息,因此需要在重新启动时使用相同的命令行参数。停止时仅必须使用相同的pidfile和logfile参数
注意
默认情况下,它将在当前目录中创建pid和日志文件,以防止多个工作程序相互启动,建议您将它们放在专用目录中
1 | celery multi start w1 -A task -l info --pidfile=/var/run/celery/%n.pid \ |
2 | --logfile=/var/log/celery/%n%I.log |
命令操作
启动
1
celery multi start w1 -A task -l info
重启
1
celery multi restart w1 -A task -l info
停止
1
# stop命令是异步的,因此它不会等待工作程序关闭
2
celery multi stop w1 -A task -l info
3
4
# 确保所有任务完成在退出
5
celery multi stopwait w1 -A task -l info