Abd*_*hab 54 python wsgi tornado nonblocking flask
我是Flask的忠实粉丝- 部分原因是因为它很简单,部分原因是因为它有很多扩展.但是,Flask意味着在WSGI环境中使用,而WSGI不是非阻塞的,所以(我相信)它不像某些类型的应用程序那样扩展到Tornado.
由于每个人都有一个URL调度程序,它将调用一个函数,并且两个都将使用Python文件(在Django中你不启动python文件,但是你在烧瓶或龙卷风中)你是否有意义在你的网站上有两个独立的部分 - 一部分用Tornado运行非阻塞作业,另一部分用Flask编写?
如果这是一个好主意,您将如何在Flask和Tornado之间共享cookie /会话?我会遇到问题,因为Flask将使用它自己的系统,而Tornado将使用自己的系统吗?
Abd*_*hab 87
我认为我有50%的解决方案,饼干尚未测试,但现在我可以使用Tornado加载Flask应用程序,并将Tornado + Flask混合在一起:)
首先这里是flasky.py烧瓶应用程序所在的文件:
from flask import Flask
app = Flask(__name__)
@app.route('/flask')
def hello_world():
return 'This comes from Flask ^_^'
Run Code Online (Sandbox Code Playgroud)
然后是cyclone.py文件,它将加载烧瓶应用程序和龙卷风服务器+一个简单的龙卷风应用程序,希望没有名为"旋风"的模块^ _ ^
from tornado.wsgi import WSGIContainer
from 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()
Run Code Online (Sandbox Code Playgroud)
希望这会帮助想要混合它们的人:)
| 归档时间: |
|
| 查看次数: |
37886 次 |
| 最近记录: |