一:flask本身的框架时什么?
基于Wsgi的Web应用框架
二:为什么要实现异步架构?
增加并发处理能力
三:实现异步架构
from gevent import monkey from gevent.pywsgi import WSGIServer from geventwebsocket.handler import WebSocketHandler
monkey.patch_all()
from flask import Flask app = Flask(__name__) @app.route("/") def index(): pass if __name__ == "__main__": http_server = WSGIServer(("0.0.0.0", 12002), app,handler_class=WebSocketHandler) try: http_server.serve_forever() except KeyboardInterrupt: print("server has been stoped")
注意:为实现 Flask 与 gevent 的结合,需在程序开头引入 monkey patch。monkey patch 将以闭包的形式修改可以实现异步的标准库,从而实现异步。
注意:需使用支持 gevent 的 WSGI,例如:gevent.pywsgi、gunicorn 等