2014-11-21 54 views
0

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

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

回答

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 
+0

我希望能够根据需要安排。假设我想在前两天每2小时运行一次任务,然后相隔3小时运行5天,然后在接下来的10天内相隔20小时,然后在任何时候中途根据用户输入停止运行。我应该能够在手动通知关闭时撤销任务。 – Ouroboros 2014-11-23 05:58:25

+0

你应该重写你的问题。 – 2014-11-23 10:03:47

相关问题