获取错误收到类型为'mytasks.add'的未注册任务

时间:2012-08-24 11:34:08

标签: redis celery

我写了一个文件mytasks.py

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服务器,我已经启动了芹菜服务器。但是当我运行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'

可能是可能的原因

2 个答案:

答案 0 :(得分:13)

嘿,我已经解决了这个问题 我做了一件事我添加

CELERY_IMPORTS=("mytasks")

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

答案 1 :(得分:2)