首页 > 解决方案 > 线程龙卷风+烧瓶应用程序的正确方法是什么?

问题描述

我用烧瓶制作了一个网络应用程序,并用烧瓶自己的网络服务器运行它,参数为“线程=真”。它工作得很好。

app.run(host='0.0.0.0', port=5000, threaded=True)

但很快我发现它只适用于开发环境,所以我决定使用“龙卷风”。但它不能同时工作。

http_server = HTTPServer(WSGIContainer(app))
http_server.listen(5000)
IOLoop.instance().start()

有没有像烧瓶的“线程=真”这样的参数来线程?还是我应该手动完成?如果是这样,正确的方法是什么?

标签: pythonwebflasktornado

解决方案


Tornado 的 WSGIContainer 不支持线程,这意味着它也不适合大多数生产使用(Tornado 的其余部分是,只是不支持 WSGIContainer)。只有在同一进程中同时服务 Tornado RequestHandlers 和 WSGI 应用程序很重要时,才使用 Tornado 的 WSGIContainer 是一个好主意。否则,我推荐gunicornor uwsgi


推荐阅读