您可以流式传输响应以获取 非常
简单的进度报告。有关更多信息,请参见有关流式传输的文档。此示例在等待5秒时输出完成百分比。除了睡觉之外,您将在处理csv或需要执行的任何操作。
from flask import Flask, Responseimport timeapp = Flask(__name__)@app.route('/')def index(): def generate(): yield 'waiting 5 secondsn' for i in range(1, 101): time.sleep(0.05) if i % 10 == 0: yield '{}%n'.format(i) yield 'donen' return Response(generate(), mimetype='text/plain')app.run()这将在5秒钟内输出以下内容:
waiting 5 seconds10%20%30%40%50%60%70%80%90%100%done
这不是很复杂,但也只是纯文本。一个更强大的解决方案是使用Celery在后台运行任务,并使用Ajax请求轮询任务的进度。



