Как я могу сделать панель инструментов со всеми незаконченными задачами с помощью Сельдерея?

Я хочу иметь некоторое место, где я могу наблюдать все задачи ожиданий.

Я не говорю о зарегистрированных функциях/классах как задачи, но фактические запланированные задания, для которых я мог отобразиться: имя, 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.

9
задан ecleel 13 January 2014 в 02:16
поделиться