我的要求是从Celery中的任务内部创建另一个任务。传递的参数取决于父任务的输出。是的,我希望这是一种递归,它在某些时候停止(基于一些IF子句)。是否有可能在芹菜中做到这一点?
我查看了Group / Chord / etc子任务原语。但是,它们并不像我想的那样灵活。 有没有办法做到这一点?
答案 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