撤销芹菜链急切模式

时间:2017-05-01 20:32:06

标签: django celery django-celery

我在Django项目中使用celery chain

对于链式任务,我使用task_postrun信号撤销所有后续任务similar to this

@task_postrun.connect
def task_postrun_handler(
    signal, sender, task_id, task, retval, state, args, kwargs, **kwds
):
    # do other things first
    if retval != 1:
        task.request.chain[:] = []

因此,如果任务的返回值不是1,则撤消所有后续任务。它工作正常。

但是,在我的测试中,我以急切模式运行任务。它确实进入了 task_postrun_handler,但没有chain数组(callbacks也是None)。

通过这种方式,我无法在测试中终止任务链。 我在celery 3.1.23celery 4.0.2

中都试过了

感谢您的帮助。

0 个答案:

没有答案