如何在Flask Python的WSGIServer中启用/实现多线程

时间:2018-05-16 07:58:29

标签: python multithreading flask wsgiserver

我有一个Flask API,可以为Web和移动应用程序提供服务。 但有时在重负荷,应用程序或网站停止快速响应并显示结果需要时间, 我只想在运行WSGIServer的烧瓶中启用多线程。

def main():
"""Main entry point of the app."""
try:
    http_server = WSGIServer(('0.0.0.0', 8084), app, log=logging, error_log=logging)
    http_server.serve_forever()
except Exception as exc:
    logger.error(exc.message)
    logger.exception(traceback.format_exc())
finally:
    # Do something here
    pass

谢谢,

1 个答案:

答案 0 :(得分:1)

内置的Flask开发服务器虽然不适合多线程使用部署,但允许多线程:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello, world!'

if __name__ == '__main__':
    app.run(threaded=True)

上面的代码是一个使用多线程的简单Hello World脚本;并不是说任何进程都在使用另一个线程,但你明白了。