2012-12-03 37 views
6

我通過使用芹菜組作爲official documentation從Celery中的taskset_id檢索GroupResult?

描述我還存儲所述組(使用taskset)ID轉換爲分貝,以輪詢芹菜上使用taskset狀態時開始一組芹菜任務。

job = group([ 
     single_test.s(1, 1), 
     single_test.s(1, 2), 
     single_test.s(1, 3), 
    ]) 

result = job.apply_async() 

test_set = MyTestSet() 
test_set.taskset_id = result.id 

# store test_set into DB 

有沒有辦法獲得GroupResult對象(即我result)從taskset的ID開始? 就像this question所做的一樣,但與芹菜團體合作。

我已經嘗試過這樣做的:

r = GroupResult(taskset_id) 

,但它不工作,因爲r.results()總是空的。

我應該使用GroupResult.save()GroupResult.restore()methods

回答

14

是的,你必須保存結果,然後恢復它。

job = group([ 
    single_test.s(1, 1), 
    single_test.s(1, 2), 
    single_test.s(1, 3), 
]) 
result = job.apply_async() 
result.save() 

from celery.result import GroupResult 
saved_result = GroupResult.restore(result.id) 

我有同樣的問題,看到你有關保存/恢復的提示最終弄清楚了。

+0

是的,我最終也最終使用該代碼。 ;) – Andrea