【发布时间】:2013-01-18 07:50:48
【问题描述】:
我的 Flask 应用程序必须进行相当大的计算才能获取某个页面。在 Flask 执行该功能时,其他用户无法访问该网站,因为 Flask 正忙于进行大型计算。
有什么方法可以让我的 Flask 应用程序接受来自多个用户的请求?
【问题讨论】:
-
卸载大型计算,您可以使用celery。它可以使用多个进程、线程、微线程来执行任务。
我的 Flask 应用程序必须进行相当大的计算才能获取某个页面。在 Flask 执行该功能时,其他用户无法访问该网站,因为 Flask 正忙于进行大型计算。
有什么方法可以让我的 Flask 应用程序接受来自多个用户的请求?
【问题讨论】:
是的,将您的应用程序部署在不同的 WSGI 服务器上,请参阅Flask deployment options documentation。
Flask 附带的服务器组件实际上只适用于您开发应用程序时;即使它可以配置为使用app.run(threaded=True) 处理并发请求(从 Flask 1.0 开始,这是默认设置)。上述文档列出了可以处理并发请求的服务器的几个选项并且更加健壮和可调整。
【讨论】:
对于需要很长时间的请求,您可能需要考虑为它们启动后台作业。
【讨论】: