2012-12-03 4 views
6

는 I는 taskset 상태 위해 셀러리를 폴링하기 위해, I도 DB에 기 (taskset) 자료를 저장하고있는 official documentationCelery의 taskset_id에서 GroupResult를 가져 오는 중입니까?

에 기재된 셀러리기를 사용하여 셀러리 일련의 작업을 시작하고있다.

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 아이디부터 시작? 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

관련 문제