2012-08-24 56 views
10

的未註冊的任務,我寫了一個文件mytasks.py得到錯誤收到類型「mytasks.add」

from celery import Celery 

celery = Celery("tasks", 
       broker='redis://localhost:6379/0', 
       backend='redis') 


@celery.task 
def add(x,y): 
     return x+y 

task.py如下

from mytasks import add 

add.delay(1,1) 

我已經開始Redis的服務器和我已經開始芹菜服務器。但是,當IM運行task.py然後我收到以下錯誤:

Received unregistered task of type 'mytasks.add'. 
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': 'mytasks.add', 'eta': None, 'args': (1, 1), 'expires': None, 'callbacks': None, 'errbacks': None, 'kwargs': {}, 'id': 'a4792308-d575-4de4-8b67-26982cae2fa4', 'utc': True} (173b) 

Traceback (most recent call last): 
    File "/usr/local/lib/python2.7/dist-packages/celery/worker/consumer.py", line 411, in on_task_received 
    strategies[name](message, body, message.ack_log_error) 
KeyError: 'mytasks.add' 

可能是什麼原因possibel

回答

13

嘿,我已經解決了這個問題 我做了一兩件事,我添加

CELERY_IMPORTS=("mytasks") 

在我的celeryconfig.py文件,我成功了。

+0

感謝,對我來說 – Anentropic

+0

它爲我工作太努力:) –