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

Roh*_*hal 10 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
Run Code Online (Sandbox Code Playgroud)

task.py为后续

from mytasks import add

add.delay(1,1)
Run Code Online (Sandbox Code Playgroud)

我已经启动了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'
Run Code Online (Sandbox Code Playgroud)

可能是什么原因

Roh*_*hal 13

嘿,我已经解决了问题,我做了一件事,我补充说

CELERY_IMPORTS=("mytasks")
Run Code Online (Sandbox Code Playgroud)

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