Celery启动定时任务遇到报错

Celery启动定时任务遇到报错

  • 报错信息
    • 解决办法

报错信息

[2021-04-08 22:50:21,746: ERROR/MainProcess] Received unregistered task of type ‘tasks.add’.
The message has been ignored and discarded.

Did you remember to import the module containing this task?
Or maybe you’re using relative imports?

Please see
http://docs.celeryq.org/en/latest/internals/protocol.html
for more information.

The full contents of the message body was:
b’[[16, 16], {}, {“callbacks”: null, “errbacks”: null, “chain”: null, “chord”: null}]’ (83b)
Traceback (most recent call last):
File “c:\users\user\appdata\local\programs\python\python38\lib\site-packages\celery\worker\consumer\consumer.py”, line 555, in on_task_received
strategy = strategies[type_]
KeyError: ‘tasks.add’

解决办法

 修改任务装饰器,使用函数具体路径作为装饰器参数,而不是使用任意参数!

我的project目录结构:
Celery启动定时任务遇到报错_第1张图片

修改前:
@app.task(name=“test123”)
def add(x, y):
print(’==============’)
return x + y

修改后:
@app.task(name=“celery_project.tasks.add”)
def add(x, y):
print(’==============’)
return x + y

你可能感兴趣的:(celery,python)