4
我希望我的烧瓶应用程序能够同时处理多个调用。 我一直在使用threaded=True
或processes=3
进行测试,下面的代码正在运行,但是当我向服务器发出两个调用时,以后总是必须等待第一个调用完成。 我知道建议将应用程序部署在更复杂的WSGI容器上,但现在我只想让我的小应用程序能够一次处理2个调用。螺纹烧瓶应用程序不按预期方式工作
from flask import Flask, Response, stream_with_context
from time import sleep
app = Flask(__name__)
def text_gen(message):
for c in message:
yield c
sleep(1)
@app.route("/")
def hello():
stream = text_gen('Hello World')
return Response(stream_with_context(stream))
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8080, debug=True, threaded=True)
你的例子适合我。你如何验证一次只处理一个请求?两个标签在同一个浏览器中?这可能是浏览器持有多个请求到同一个域。 –
'app.run()'启动一个开发服务器。这不意味着生产用途。 – Blender
尝试在'text_gen'中的'yield'之后插入:'import threading;打印“在%s中努力工作”%threading.currentThread()。name' –