use*_*486 4 python tornado flask
我想运行一个使用Tornado在Flask中编写的简单应用程序.我该怎么做呢?我想使用Python 2.7和最新的Tornado版本(4.2).
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World!'
if __name__ == '__main__':
app.run()
Run Code Online (Sandbox Code Playgroud)
dav*_*ism 13
Flask文档用于描述如何执行此操作,但由于下面的性能说明,它已被删除.除非您的所有异步代码都已在Tornado中编写,否则您不需要Tornado为Flask应用程序提供服务.
关于WSGI的龙卷风文档也描述了这一点.它们还包括一个很大的警告,即使用专用的WSGI应用服务器(如uWSGI,Gunicorn或mod_wsgi)可能性能较差.
WSGI是一个同步接口,而Tornado的并发模型基于单线程异步执行.这意味着运行与龙卷风的一个WSGI应用
WSGIContainer是少可扩展性比运行在多线程WSGI服务器相同的应用程式,例如gunicorn或uwsgi.WSGIContainer仅在将Tornado和WSGI组合在同一进程中的好处时才使用,该进程超过了降低的可伸缩性.
例如,使用Gunicorn代替:
gunicorn -w 4 app:app
Run Code Online (Sandbox Code Playgroud)
毕竟,如果你真的,真的还想使用Tornado,你可以使用文档中描述的模式:
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from yourapplication import app
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(5000)
IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6702 次 |
| 最近记录: |