0
我有一個與sqlalchemy和芹菜工作人員啓動和運行的燒瓶應用程序。我使用redis作爲我的經紀人。每次有人在對話中提交新消息時,都會啓動一名工作人員,並且應該向參與對話的所有人發送通知郵件。因此它連接到數據庫並獲取所有相關的電子郵件地址。如果芹菜忘記了(顯然)隨機基礎上的任務,我該怎麼辦?
不幸的是,似乎有一個隨機因素決定,芹菜是否知道發送郵件的任務。一些開始後,它完美的(有時),一些開始後,它根本不工作。我得到,當它不工作的錯誤是:
[2012-11-28 21:42:58,751: ERROR/MainProcess] Received unregistered task of type 'messages.sendnotifies'.
The message has been ignored and discarded.
Did you remember to import the module containing this task?
Or maybe you are using relative imports?
Please see http://bit.ly/gLye1c for more information.
The full contents of the message body was:
{'retries': 0, 'task': 'messages.sendnotifies', 'eta': None, 'args': [41L], 'expires': None, 'callbacks': None, 'errbacks': None, 'kwargs': {}, 'id': '47da3ba7-ec91-4056-bb4f-a6afec2f960f', 'utc': True} (183b)
Traceback (most recent call last):
File "/var/www/virtual/venv/lib/python2.7/site-packages/celery/worker/consumer.py", line 410, in on_task_received
connection = self.connection
KeyError: 'messages.sendnotifies'
當我--loglevel=DEBUG
運行芹菜它列出的任務在任務列表,但:
[Tasks]
. celery.backend_cleanup
. celery.chain
. celery.chord
. celery.chord_unlock
. celery.chunks
. celery.group
. celery.map
. celery.starmap
. event.notfiy
. messages.sendnotifies
. money.checktransaction
. money.deploypayment
. money.invoicepromotion
. protocols.plotweight
. questionnaire.deploy
. questionnaire.suitability
. registration.notify
. tracking.track
. user.checkaccount
. user.checkaccounts
. user.fixpermissions
. user.genpassreset
我不能確定系統然而,當它的作品,當沒有。但我已將所有相關軟件包升級到當前可用的最新版本,但仍然無法正常工作。
我希望有任何想法,爲什麼這可能無法正常工作,我可能可以解決它。每一個反饋都非常感謝,因爲我有點絕望!