Django 获取使用芹菜弦创建的所有任务的任务\u ID

Django 获取使用芹菜弦创建的所有任务的任务\u ID,django,task,celery,chord,Django,Task,Celery,Chord,我的目标是从django芹菜和弦调用中检索所有task_ID,以便在以后需要时撤销这些任务。但是,我无法找到检索任务ID的正确方法。我执行和弦为: c = chord((loadTask.s(i) for i in range(0, num_lines, CHUNK_SIZE)), finalizeTask.si()) task_result = c.delay() # get task_ids 我检查了task_result的children变量,但它没有 我可以使用组和另一个任务手动创建c

我的目标是从django芹菜和弦调用中检索所有task_ID,以便在以后需要时撤销这些任务。但是,我无法找到检索任务ID的正确方法。我执行和弦为:

c = chord((loadTask.s(i) for i in range(0, num_lines, CHUNK_SIZE)), finalizeTask.si())
task_result = c.delay()
# get task_ids
我检查了task_result的children变量,但它没有

我可以使用组和另一个任务手动创建chord语义,如下所示,并检索相关的任务ID,但我不喜欢中断调用。当此代码作为子任务在任务中运行时,当组在finalize任务开始之前被撤销时,可能会导致主任务挂起


任何想法都将不胜感激

我正在尝试做类似的事情,我希望我只需一次调用就可以撤销和弦,其中的所有内容都会对我递归撤销

您可以在通话组和您的
finalizeTask
中拨出和弦,以避免中断通话

我意识到这是两个月后,你问,但也许它会帮助别人,也许我应该得到的任务ID在我的小组中的一切

g = group((loadTask.s(i) for i in range(0, num_lines, CHUNK_SIZE))) 
task_result = g.delay()
storeTaskIds(task_result.children)
task_result.get()

task_result2 = self.finalizeTask.delay()
storeTaskIds([task_result2.task_id])