我正在尝试运行芹菜任务,但我收到KeyError
我猜它是因为芹菜正试图从chatbot.tasks.add获取我的tasks.py
文件。然而,我是愚蠢的我把add()模块放在我的本地bot / tasks目录中。导致错误的原因是什么。我以为我可以通过在我的Python shell中执行from chatbot.tasks import add
来解决这个问题但是我一直得到一个“没有模块名为...”的错误。
那么我如何成功地将正确的密钥(chatbot.tasks.add)传递给shell中的芹菜呢?
编辑: 回溯错误:
[2018-02-13 04:32:47,609: INFO/MainProcess] Connected to amqp://guest:**@127.0.0.1:5672//
[2018-02-13 04:32:47,628: INFO/MainProcess] mingle: searching for neighbors
[2018-02-13 04:32:48,641: INFO/MainProcess] mingle: all alone
[2018-02-13 04:32:48,674: WARNING/MainProcess] celery@Charles-PC ready.
[2018-02-13 04:33:52,023: ERROR/MainProcess] Received unregistered task of type 'bot.tasks.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 --- for more information.
The full contents of the message body was:
{'timelimit': (None, None), 'utc': True, 'chord': None, 'args': (2, 3), 'retries': 0, 'expires': None, 'task': 'bot.tasks.add
075-4bb0-89e5-b33a545c11f4'} (213b)
Traceback (most recent call last):
File "c:\users\elitebook\.virtualenvs\chatbot\lib\site-packages\celery\worker\consumer.py", line 455, in on_task_received
strategies[name](message, body,
KeyError: 'bot.tasks.add'
答案 0 :(得分:0)
我不知道您的应用程序布局,但在我的芹菜项目中(差不多3年)我有两个文件: celeryconfig.py 和 celery.py 。在 celery.py 中,我正在导入我的所有任务,因此我可以从导入我的项目的其他包中或当我想要运行芹菜节拍任务时引用它们。