2011-03-17 129 views
1

你能告诉我什么时候在芹菜你告诉任务重试?它会在同一个工作线程中重试,还是会返回给可能发送到别处的代理?芹菜任务重试(芹菜,Django和RabbitMQ)

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

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

回答

0

你能告诉我什么时候发生了什么,当芹菜你你告诉任务重试? 它会重试在同一工作人员 线程或它将返回到 经纪人可能会发送到其他地方吗?

是任务返回经纪人(如兔子MQ)有不同的估计执行时间

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

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