【问题标题】:Celery active tasks persistenceCelery 活动任务持久化
【发布时间】:2019-01-29 07:02:49
【问题描述】:

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

【问题讨论】:

    标签: celery persistence


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-23
      • 2019-12-30
      • 2018-01-21
      • 2011-05-31
      • 2022-12-04
      相关资源
      最近更新 更多