flask本身用werkzeug作为wsgi server,但是本身性能不佳,而且只有一个线程处理http连接,如果遇到网络原因或者其它原因导致线程block住,会导致整个应用卡死状态,所以flask官网也不建议用自带的server作为wsgi的server.
tornado是一个高性能异步io框架,并且支持http协议
from flask import Flask
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado import ioloop
import logging
LOG = logging.getLogger(__name__)
max_body_size = 800000000
app = Flask('tonado_demo')
app.route('/hello')
def hello():
return 'hello world'
http_server = HTTPServer(WSGIContainer(app), max_body_size=max_body_size)
http_server.listen(port, address=bind)
LOG.info('Listening on {}:{}'.format(bind, port))
ioloop.IOLoop.instance().start()