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

来源:互联网 发布:淘宝号怎么申请注册 编辑:程序博客网 时间:2024/06/02 00:46

修改配置如下:

task_reject_on_worker_lost = Truetask_acks_late = True

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

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

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