一起使用Flask和Tornado?
我是Flask的忠实拥护者 -部分是因为它简单,部分是因为它具有很多扩展。但是,Flask是要在WSGI环境中使用的,并且WSGI不是非阻塞的,因此(我相信)对于某些类型的应用程序,它的伸缩性不如Tornado。
由于每个人都有一个将调用函数的URL调度程序,并且两个都将使用Python文件(在Django中,你不启动python文件,但在flask或Tornado中,你可以这样做)这样做对于将网站包含两个独立的部分是有意义的-一部分使用Tornado运行非阻塞作业,另一部分使用Flask编写?
如果这是一个好主意,那么你将如何在Flask和Tornado之间共享cookie /会话?我会遇到问题,因为Flask将使用它自己的系统,而Tornado将使用它自己的系统?
回答:
我想我有50%的解决方案,这些cookie尚未经过测试,但是现在我可以使用Tornado加载Flask应用程序,并将Tornado + Flask混合在一起:)
首先是flasky.py flask应用程序所在的文件:
from flask import Flaskapp = Flask(__name__)
@app.route('/flask')
def hello_world():
return 'This comes from Flask ^_^'
然后是Cyclone.py文件,它将加载烧瓶应用程序和tornado服务器以及一个简单的tornado应用程序,希望没有名为“ cyclone”的模块^ _ ^
from tornado.wsgi import WSGIContainerfrom tornado.ioloop import IOLoop
from tornado.web import FallbackHandler, RequestHandler, Application
from flasky import app
class MainHandler(RequestHandler):
def get(self):
self.write("This message comes from Tornado ^_^")
tr = WSGIContainer(app)
application = Application([
(r"/tornado", MainHandler),
(r".*", FallbackHandler, dict(fallback=tr)),
])
if __name__ == "__main__":
application.listen(8000)
IOLoop.instance().start()
希望这会对想要混合它们的人有所帮助:)
以上是 一起使用Flask和Tornado? 的全部内容, 来源链接: utcz.com/qa/431167.html