如何在Flask应用程序中设置未决连接的最大数量?
例如
运行此代码后,可以同时发送两个请求。在处理第一个请求时,另一个将等待。第一个完成后,第二个将被处理。
from flask import Flask
application = Flask(__name__)
@application.route("/")
def hello():
for x in range(10000000):
x += 1
return "Hello World!"
if __name__ == '__main__':
application.run()
我如何做到这一点,以便当我同时发送两个请求时,第一个请求将被处理,第二个请求而不是等待,将无法连接(也许它将得到某种错误)。
答案 0 :(得分:0)
您可以将Flask与某些类型的Web服务器一起使用,例如Gunicorn,Nginx或Apache,以接受HTTP请求,然后对其进行操作。人们一起运行Nginx和Gunicorn的原因是,除了作为Web服务器之外,Nginx还可以代理到Gunicorn的连接,这带来了一定的性能优势。
Gunicorn是预分叉软件。对于低延迟通信,例如到应用程序服务器的负载平衡器或服务之间的通信,前叉系统可能会非常成功。 Gunicorn服务器可以; 运行任何WSGI Python Web应用程序(和框架)
可以用作Paster(金字塔),Django的开发服务器,web2py等的直接替代。
具有各种工作人员类型和配置
自动管理工作进程
通过同步和异步工作程序支持HTTP / 1.0和HTTP / 1.1(保持活动)
您可以从此blogpost中获取帮助,以设置带有gunicorn的烧瓶应用程序。