1

你能告诉我在芹菜中你告诉任务重试时发生了什么吗?它会在同一个工作线程中重试还是会返回给可能将其发送到其他地方的代理?

如果 worker 或 dispatcher 突然停止,重试任务会发生什么?如果任务可能丢失,是否有一些方法可以避免这种情况?如果一段时间没有收到结果,可以将每个任务保存在数据库中并重试它们吗?

或者可能是调度员有它自己的持久存储?如果工作线程在接收任务或执行任务时崩溃怎么办?

4

1 回答 1

1

你能告诉我在芹菜中你告诉任务重试时发生了什么吗?它会在同一个工作线程中重试还是会返回给可能将其发送到其他地方的代理?

是的,任务以不同的估计执行时间返回到代理(例如 Rabbit MQ)

如果 worker 或 dispatcher 突然停止,重试任务会发生什么?如果任务可能丢失,是否有一些方法可以避免这种情况?如果一段时间没有收到结果,可以将每个任务保存在数据库中并重试它们吗?或者可能是调度员有它自己的持久存储?如果工作线程在接收任务或执行任务时崩溃怎么办?

这里有一个完整的答案Retry Lost or Failed Tasks (Celery, Django and RabbitMQ)

于 2011-03-17T13:22:25.210 回答