2012-01-23 2 views
1

моя среда состоит из джанго, сельдерея и монгоба в качестве заднего конца.Невозможно отображать задачи сельдерея в djcelery admin (mongodb back end)

Мне удалось создать периодические задачи с использованием интерфейса администратора djcelery и после запуска celerybeat, я вижу, что он работает. Эта задача проста: она просто добавляет 2 целых числа, как предлагается в учебнике по сельдери.

запускаю celeryd с помощью следующей командной строки

питон manage.py celeryd -E -l INFO --settings = Настройки

celerybeat с помощью следующей командной строки:

python manage.py celerybeat --settings = настройки

и, наконец, celerycam, чтобы делать снимки из моих задач:

питона manage.py celerycam --settings = Настройки

Когда я пытаюсь отобразить задачи сельдерея в djcelery администратора однако я продолжаю иметь такое же сообщение об ошибке, кто-нибудь знает, как его исправить?

Error stack django admin

+0

Я использую следующие библиотеки: APScheduler == 2.0.2 Джанго == 1.3.1 amqplib == 1.0.2 anyjson == 0.3.1 сельдерея == 2.4.6 сельдерееподобный с -mongodb == 2.4.1 Джанго-сельдерея == 2.4.2 Джанго-MongoDB двигатель == 0.4.0 Джанго-picklefield == 0.1.9 djangotoolbox == 0.9.2 комбу == 2.0.0 pymongo == 2.1 python-dateutil == 1.5 – dry

ответ

2

MongoDB не поддерживает расширенные Lookups даты/времени, как __day, __year, __hour и т.д., именно поэтому date_hierarchy вещь падает.

Однако сообщение об ошибке довольно бесполезно. Пожалуйста, откройте билет на https://github.com/django-nonrel/mongodb-engine/issues/ со ссылкой на полный стек (вы можете получить это, нажав кнопку «вставить» на странице ошибок Django).

Возможные обходные пути:

  1. переопределять значение djcelery администратора, который вызывает проблемы, удаляя date_hierarchy вариант
  2. Использование Джанго-dbindexer, чтобы добавить поддержку для этих поисков с помощью денормализация.
+0

Хорошо спасибо. Я сделаю это завтра точно. – dry

+0

[Здесь] (https://github.com/django-nonrel/mongodb-engine/issues/102) у вас есть. – dry

0

В this question он заявил, что следует установить конкретный планировщик для djcelery, но хотя я настроил это, моя страница администратора задач является пустым (не исключение, но не получает заселена).

Я использую mysql как хранилище для задач.

+0

Да, это тоже не работает для меня. Несмотря на установку правильного значения для ** CELERYBEAT_SCHEDULER **. Интересно, связано ли это с mongodb как бэкэнд, но не уверен. Кстати, как вам удалось установить mysql для хранения ваших задач? У вас есть несколько задних концов? – dry

+0

Я использую [djkombu] (https://github.com/ask/django-kombu) для этого, таким образом мои данные и задачи сельдерея хранятся в одном месте. – dragoon