2013-07-22 3 views
5

에서 celery 나는 특정 작업 이름에 대한 모든 작업에 대한 작업 상태를 가져오고 싶습니다. 그것을 위해 아래 코드를 시도했다.셀러리에서 특정 작업 이름에 대한 모든 작업의 ​​작업 상태를 얻는 방법은 무엇입니까?

import celery.events.state 

# Celery status instance. 
stat = celery.events.state.State() 

# task_by_type will return list of tasks. 
query = stat.tasks_by_type("my_task_name") 

# Print tasks. 
print query 

이제이 코드에서 빈 목록이 표시됩니다.

답변

1

기본적으로 지원되지 않습니다. 백엔드 (Mongo, Redis 등)에 따라 대기열의 내용을 검사하고 그 내용을 찾을 수도 안할 수도 있습니다. 당신이하더라도, 당신은 현재 진행중인 항목을 놓칠 것이다. 말했다

, 당신이 직접 관리 할 수 ​​:

result = mytask.delay(...) 
my_datastore.save("mytask", result.id) 
... 
for id in my_datastore.find(task="mytask"): 
    res = AsyncResult(id) 
    print res.state