flask多并发

2023-03-24  本文已影响0人  xieyan0811

多线程

flask默认使用多进程处理请求,因此,是支持并发的。比如两个调用a.html和b.html,

WSGI协议

WSGI是Web Server Gateway Interface的缩写,它是Python应用程序或者框架(如Flask)和web服务器之间的一种接口。flask默认使用werkzeug库实现WSGI协议。
只要实现了WSGI协议的任何web server都可以作为flask app的服务器,比如uWSGI, Gunicorn,mod_wsgi都可以替换Werkzeug作为 web server。

flask自带的多进程

gunicorn

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

注意:使用gunicorn后,无需在程序中运行app.run()。

gunicorn -w 3 -b 0.0.0.0:8080 test:app

这里设成开启3个进程,0.0.0.0使得在docker内部启动的服务可在宿主机上被访问,test是py文件名,app是其中的flask服务名。此时,使用ps命令即可看到一开始就启动了多个进程。

参考

Flask: flask框架是如何实现非阻塞并发的

上一篇 下一篇

猜你喜欢

热点阅读