我正在使用芹菜3.0.12。Python芹菜任務沒有後端完成
我有兩個隊列:Q1,Q2。
總的來說,我把第一季度的主要任務放在了第二季度的子任務上。 我不想存儲子任務的任何結果。所以我的子任務有裝飾器@ celery.task(ignore_results = True)。
我的主要任務現在應該等到子任務完成。因爲我寫不出結果。我不能使用:AsyncResult。有沒有一種方法可以在主任務中等待,直到子任務完成而不將狀態存儲到後端。我所有使用AsyncResults的嘗試都不成功(它依賴於後端)。它似乎也得到()依賴於後端。
整個故事代碼:
@celery.task(ignore_result=True)
def subtask():
#Do something
@celery.task
def maintask():
# Do something
# Call subtask on Q2:
res = subtask(options={'queue':'Q2'}).delay()
# Need to wait till subtask finishes
# NOT WORKING (DOES NEVER RETURN)
res.get()
我監控與芹菜花了整個應用程序,我可以看到,子任務successfuelly整理。芹菜如何檢測到這種狀態?我瀏覽了他們的代碼,但無法找到他們如何進行檢測。
謝謝,是正確的提示。 – foobar