越来越类型的错误接收未注册的任务“mytasks.add”(getting error Receiv

2019-07-31 04:02发布

我写了一个文件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的服务器和我已经开始芹菜服务器。 但是,当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

Answer 1:

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

CELERY_IMPORTS=("mytasks")

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



Answer 2:

还可以使用include芹菜类PARAM: http://docs.celeryproject.org/en/latest/getting-started/next-steps.html#proj-celery-py



文章来源: getting error Received unregistered task of type 'mytasks.add'
标签: redis celery