2013-09-30 1 views
1

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

[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 последних работ, представленных и их статус. Есть ли способ в Django получить такие объекты? Я вижу пару таблиц в базе данных (celery_taskmeta и celery_taskmeta_2ff6b945) и пробовал accesses to the objects, но Django всегда отображает страницу AttributeError.
Каков правильный способ доступа к результатам сельдерея из Django?
Ведение

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

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

EDIT: Я уверены, что задачи будут сохранены, а this small tutorial говорит:
По умолчанию Джанго-сельдерей сохраняет это состояние, в базе данных Django. Вы можете рассмотреть возможность выбора альтернативного результата или отключить состояния alltogether (см. Result Backends).
После ссылок есть ссылки только на то, как настроить соединение с БД, а не как получить результаты.

ответ

0

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

from djcelery.models import TaskMeta 

TaskMeta.objects.all() 

 Смежные вопросы

  • Нет связанных вопросов^_^