在能够处理并发请求(可能是gunicorn或uWSGI)的适当WSGI服务器下运行flask应用程序,它将起作用。在开发时,请使用以下命令在Flask提供的服务器中启用线程:
app.run(threaded=True)
但请注意,不建议将Flask服务器用于生产环境。从Flask 1.0开始,threaded
默认情况下处于启用状态flask
,实际上,您想使用命令行上的命令来运行您的应用程序。
发生的情况是,使用请求您正在向烧瓶应用程序发出 第二个 请求,但是由于它仍在忙于处理第一个请求,因此只有在完成第一个请求后,它才会响应第二个请求。
顺便说一下,在Python 3下,socketserver实现可以更优雅地处理断开连接,并继续提供服务而不是崩溃。