发现flask服务处理多线程、高并发的一下方法,主要有一下几个方面:
1.通过设置app.run()的参数,来达到多线程的效果,具体参数:
# 1.threaded : 多线程支持,默认为False,即不开启多线程;
app.run(threaded=True)
# 2.processes:进程数量,默认为1.
app.run(processes=True)
ps:多进程或多线程只能选择一个,不能同时开启
2.使用genvent做协程,解决高并发:
from genvent.wsgi import WSGIServer
from genvent import monkey
monkey.patch_all()
app = Flask(__name__)
app.config.from_object(config)
api = Api(app)
db = DBInfo()
# db_old = DBInfo_old()