2014-11-21 53 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

相關問題