У меня есть 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).
После ссылок есть ссылки только на то, как настроить соединение с БД, а не как получить результаты.