从Celery中的任务内部分离出另一个任务

时间:2014-11-21 11:43:25

标签: celery

我的要求是从Celery中的任务内部创建另一个任务。传递的参数取决于父任务的输出。是的,我希望这是一种递归,它在某些时候停止(基于一些IF子句)。是否有可能在芹菜中做到这一点?

我查看了Group / Chord / etc子任务原语。但是,它们并不像我想的那样灵活。 有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

是。您可以在Celery中的任务中启动新任务。是的,您可以在Celery中递归启动任务。是的,如果在任务中有其他条件,你可以编程。很大的问题是你为什么要这样做?

@app.task
def mytask(*args, **kwargs):
    if test_basecase(*args, **kwargs):
        return root_case
    else:
        res = mytask.apply_async(*handle(*args), **khandle(**kwargs))
        #probably starting several tasks then joining them
        return res.result