芹菜活动任务持久化

Celery active tasks persistence

如果celery在执行某个任务时崩溃了,重启celery后这个任务就会丢失。崩溃时队列中的任务将在 RabbitMQ 中恢复正常。但是我怎样才能使活动任务持久化呢?

Celery 默认配置 task_acks_late=False。 [1] 这意味着一旦工作人员从队列中接收到任务,任务就会被确认。如果任务失败,队列无法知道。

task_acks_late 设置为 True,任务将在 处理完成后被确认。当任务失败时,它会重新排队。 [2] 但请注意,您的任务必须是幂等的。 [3]