解决Celery进程重启后,正在进行中的任务丢失或者标记为失败

此生再无相见时 提交于 2019-12-06 20:45:30

修改配置如下:

task_reject_on_worker_lost = True
task_acks_late = True

该配置可以保证task不丢失,中断的task在下次启动时将会重新执行。

task_reject_on_worker_lost作用是当worker进程意外退出时,task会被放回到队列中
task_acks_late作用是只有当worker完成了这个task时,任务才被标记为ack状态

需要说明的是,backend最好使用rabbitmq等支持ACK状态的消息中间件。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!