Получение последних задач от Celery и отображение их с помощью Django

У меня есть веб-приложение Django 1.5.1, использующее Celery 3.0.23 с RabbitMQ 3.1.5. и sqlite3.
Я могу представить работу с помощью простого result = status.tasks.mymethod.delay(parameter) Все задачи выполняются правильно:

[2013-09-30 17:04:11,369: INFO/MainProcess] Got task from broker: status.tasks.prova[a22bf0b9-0d5b-4ce5-967a-750f679f40be]
[2013-09-30 17:04:11,566: INFO/MainProcess] Task status.tasks.mymethod[a22bf0b9-0d5b-4ce5-967a-750f679f40be] succeeded in 0.194540023804s: u'Done'

Я хочу отобразить на странице последние 10 отправленных работ и их статус. Есть ли способ в Джанго получить такие объекты? Я вижу пару таблиц в базе данных (celery_taskmeta а также celery_taskmeta_2ff6b945) и попытался получить доступ к объектам, но Django всегда отображает AttributeError стр.
Как правильно получить доступ к результатам Celery из Django?
дела

cel = celery.status.tasks.get(None)  
cel = status.tasks.all()

не работает, в результате чего вышеупомянутый AttributeError. (status это название моего приложения)

РЕДАКТИРОВАТЬ: Я уверен, что задачи сохраняются, как говорится в этом небольшом руководстве:
По умолчанию django-celery сохраняет это состояние в базе данных Django. Вы можете рассмотреть возможность выбора альтернативного бэкэнда результата или полного отключения состояний (см. Бэкэнды результата).
По ссылкам есть только ссылки о том, как настроить соединение с БД, а не как получить результаты.

1 ответ

Решение

Попробуй это:

from djcelery.models import TaskMeta

TaskMeta.objects.all()
Другие вопросы по тегам