2012-01-23 123 views
1

我的環境由django,celery和mongodb組成,作爲後端。無法在djcelery admin(mongodb後端)中顯示芹菜任務

我設法使用djcelery管理界面創建一個定期任務,並啓動celerybeat後,我可以看到它運行。這個任務很簡單:只需在芹菜教程中增加2個整數。

我啓動celeryd與下面的命令行

蟒manage.py celeryd -E -l INFO --settings =設置

celerybeat使用下面的命令行:

蟒manage.py celerybeat --settings =設置

最後celerycam採取我的任務快照:

蟒蛇manage.py celerycam --settings =設置

當我嘗試在djcelery管理員顯示芹菜任務但是我一直有相同的錯誤信息,有誰知道如何解決它?

Error stack django admin

+0

我使用以下庫AM:APScheduler == 2.0.2 Django的== 1.3.1 amqplib == 1.0.2 anyjson == 0.3.1 芹菜== 2.4.6 芹菜與-mongodb == 2.4.1 Django的芹菜== 2.4.2 django的-mongodb的發動機== 0.4.0 Django的picklefield == 0.1.9 djangotoolbox == 0.9.2 海帶== 2.0。0 pymongo == 2.1 python-dateutil == 1.5 – dry

回答

2

的MongoDB不支持先進的日期/時間查找類似__day__year__hour等,這就是爲什麼date_hierarchy東西崩潰。

但是,錯誤消息是相當無用的。請打開https://github.com/django-nonrel/mongodb-engine/issues/的門票,並提供完整的堆棧跟蹤鏈接(您可以通過點擊Django錯誤頁面上的「粘貼」按鈕來獲得該門票)。

可能的解決方法:

  1. 覆蓋的djcelery管理引起的麻煩,去掉date_hierarchy選項
  2. 使用Django-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