如何禁用芹菜画布中单个组的错误传播



给定两个任务,一项从事某些工作,另一个可以清理:

@app.task
def work():
    ...
@app.task
def cleanup():
    ...

无论一组工作任务是否失败,我都希望在完成一组工作任务后完成清理任务。我已经通过运行canvas.apply_async(propagate=False)来起作用,但是我真的只想关闭一个组的传播:

work_group = group([work.s() for i in range(0, 10)], propagate=False)
work_and_cleanup = chain(work_group, cleanup)

但是,这似乎不起作用。如何仅针对work_group关闭传播?

仅用于成功任务,添加链接错误回调以调用清理任务。

work_and_cleanup.apply_async(link_error=cleanup.si())

最新更新