正在运行组任务时更改组

2024-05-01 22:01:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我在我的定期任务中运行以下chord

(group(task_A1, task_A2, ... , task_An) | task_B)

每个任务(task_A1task_A2。。。运行task_An)可能需要5-10分钟。你知道吗

考虑以下场景: 在周期性任务期间(每小时),task_A1。。task_An是并行运行的。现在,有人从另一个流触发了一个外部task_A1'任务。我的目标是停止&仅用task_A1'替换当前正在运行的task_A1并保持(不停止task_A2)。。task_An流原样-即等待组(of task_A2, ... ,task_An&;the new task_A1')完成并启动task_B。你知道吗

我目前的解决方案是撤销task_A1&;task_B并将新任务task_A1'&;task_B'添加到队列中—但我想知道如何创建这个新任务 与已经运行的task_A2, ... , task_An相结合,可以实现以下功能:

(group(task_A1', task_A2, ... , task_An) | task_B')

我是通过撤销任务并在CeleryRouter中“重新连接”它们来实现的。我正在从celeryapp.control.inspect().active()celeryapp.control.inspect().reserved()提取任务。我想知道是否有优雅的方式来实现我的目标。你知道吗

谢谢。你知道吗


Tags: ofana2目标taska1场景group