给定两个非常简单的文件:
任务.py
from celery import Celery
app = Celery('tasks', backend='redis://localhost', broker='pyamqp://')
@app.task
def add(x, y):
return x + y
Webapp.py
from celery import Celery
from celery.execute import send_task
#random_name = Celery('tasks', backend='redis://localhost', broker='pyamqp://')
r1 = send_task('tasks.add',(1,1))
print(r1.get())
如果我按原样运行代码,就会出现错误"NotImplementedError:未配置结果后端&";。
如果我只是删除#(在random_name=…之前(,一切都很好(程序打印2(。
为什么?
我在这里得到了官方答案:
https://github.com/celery/celery/issues/6744
基本遵循https://docs.celeryproject.org/en/stable/userguide/configuration.html,您需要在PYTHONPATH中有一个celeryconfig.py文件,才能正确配置应用程序。