Я хочу иметь некоторое место, где я могу наблюдать все задачи ожиданий.
Я не говорю о зарегистрированных функциях/классах как задачи, но фактические запланированные задания, для которых я мог отобразиться: имя, task_id, ЭТА, рабочий, и т.д.
Используя Сельдерей 2.0.2 и djcelery, я нашел, 'осматривают' в документации. Я попробовал:
from celery.task.control import inspect
def get_scheduled_tasks(nodes=None):
if nodes:
i = inspect(nodes)
else:
i = inspect()
scheduled_tasks = []
dump = i.scheduled()
if dump:
for worker, tasks in dump:
for task in tasks:
scheduled_task = {}
scheduled_task.update(task["request"])
del task["request"]
scheduled_task.update(task)
scheduled_task["worker"] = worker
scheduled_tasks.append(scheduled_task)
return scheduled_tasks
Но это зависает навсегда на dump = i.scheduled()
.
Странный, потому что иначе все работает.
Используя Ubuntu 10.04, django 1.0 и virtualenv.