你能告诉我芹菜什么时候你告诉任务要重试吗?它会在同一个工作线程中重试,还是会返回到可能将其发送到其他地方的经纪人?
如果工人或调度员突然停止,重试任务会怎样?如果可以丢失任务,有什么方法可以避免这种情况吗?可以保存数据库中的每个任务,如果一段时间没有收到结果,可以重试它们吗?
或者可能是调度员拥有自己的持久存储?那么如果工作线程崩溃接收任务或执行任务呢?
答案 0 :(得分:0)
你能告诉我发生什么事吗? 在芹菜中你告诉任务重试? 它会在同一个工人中重试吗? 线程或它将返回 经纪人可以将其发送到其他地方吗?
是的,任务返回到具有不同估计执行时间的代理(例如Rabbit MQ)
重试任务会发生什么 如果工人或调度员突然停止? 如果可以丢失任务,那就有一些 避免这种做法?可能会保存 数据库中的每个任务并重试它们 如果没有收到某些结果 时间? 或者可能是调度员拥有它自己的 持久存储?那么如果 工作线程崩溃接收任务 或者在执行时?
这里有一个完整的答案Retry Lost or Failed Tasks (Celery, Django and RabbitMQ)