我将Celery与RabbitMQ一起使用,我有一个包含4个任务和一个组的链。该小组处于链的顶端,其中有大约1千项任务
我有死信队列设置,它可以像预期的那样处理单个任务。
每当一个任务在组中失败时,它就会进入死信队列,但链的其余部分会丢失。
链:
- 组(a、b、c、d、e(
- 任务x
- 任务y
- 任务w
- 任务z
我希望组中的所有任务都并行运行,如果发生任何事情,请转到死信队列,并将链任务一起移动(这可能是在组中所有任务运行之后(。有办法做到这一点吗?如果没有,实现具有组的可恢复链的替代方法是什么?
链本身正在从组中寻找回调,如果组失败,则其余任务将失败,并被"丢失";
链的定义:链基元允许我们链接在一起签名,使一个在另一个之后被调用,基本上形成一连串的回电。
如果我理解正确,您可以在接下来的任务中通过定义异常来处理此回调。
作为类似问题的参考:(即使主要任务失败,也要运行和弦回调(
来源:https://docs.celeryproject.org/en/stable/userguide/canvas.html#chains
(我本来会评论的,但我没有足够的声誉,希望这有帮助!(