2013-07-22 29 views
5

In celery voglio ottenere lo stato di attività per tutte le attività per nome attività specifico. Per quello provato sotto il codice.In sedano come ottenere lo stato dell'attività per tutte le attività per nome attività specifico?

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 

Ora sto ricevendo la lista vuota in questo codice.

risposta

1

Questo non è supportato nativamente. A seconda del backend (Mongo, Redis, ecc.), Puoi o meno essere in grado di introspettare i contenuti di una coda e scoprire cosa c'è dentro. Anche se lo fai, ti perderai articoli attualmente in corso.

Detto questo, si potrebbe gestire da soli:

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