我正在用Tornado运行一个简单的Flask应用程序,但是视图一次只能处理一个请求。如何使其处理多个并发请求?
我使用的解决方法是派生并使用多个进程来处理请求,但是我不喜欢这种解决方案。
from flask import Flask app = Flask(__name__) @app.route('/flask') def hello_world(): return 'This comes from Flask ^_^' 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()
你应该使用专用的WSGI服务器,例如uWSGI或Gunicorn,并将其配置为使用多个工作线程。不要将Tornado用作WSGI服务器。