python - 在 Flask 中使用 Celery 时无法导入名称 App
问题描述
我正在编写一个使用 Celery 运行后台任务的简单 Flask 应用程序,但是当我尝试在终端上运行该应用程序时,我收到以下错误消息:
Traceback (most recent call last):
File "server.py", line 2, in <module>
from flask_celery import make_celery
File "/usr/local/lib/python2.7/site-packages/flask_celery.py", line 16, in <module>
from celery.app import App, AppPickler, current_app as current_celery
ImportError: cannot import name App
这是我正在使用的代码:
from flask import Flask
from flask_celery import make_celery
app = Flask(__name__)
app.config["CELERY_BROKER_URL"] = "amqp://guest:guest@localhost:5672//"
celery = make_celery(app)
@celery.task(name='server.reverse')
def reverse(string):
return string[::-1]
@app.route("/process/<name>")
def process(name):
reverse.delay(name)
return "I sent an async request!"
if __name__ == "__main__":
app.run(debug=True)
有人知道我在做什么错吗?
谢谢
解决方案
推荐阅读
- r - 在 R Shiny 中保护模式对话框
- three.js - 如何将网格帧统一为单个动画序列?
- azure-data-factory - 手动运行时 Azure Synapse 笔记本可以从 SQL 池中读取,但管道中的任务失败
- python - 在散点图中制作小极坐标图 - Python
- android - 将不同的文本自动调整为唯一的大小
- python - 如何使for循环在张量流中并行运行
- c# - 从 LINQ 包含返回确切结果
- java - 如何在android中裁剪不同比例的图像?
- html - 仅用另一个 div 覆盖特定 div
- excel - 在没有 VBA 的 Excel 中将字符串计算为公式