关于app.run()的使用
2020-05-09 本文已影响0人
飞跑的蛤蟆
flask自带的app.run()只适用于开发调试,并不适用于生产环境,生产环境中使用WSGI容器,常用的有Gunicorn和uWSGI。
thread=True参数
app.run(threaded=True)
设置threaded为True,开启的多线程是指不同路由使用多线程来处理请求,不是指单个路由多线程处理请求
@app.route('/t1')
def t1():
sleep(5)
return 'Hello World t1'
@app.route('/t2')
def t2():
sleep(5)
return 'Hello World t2'
如上面的代码:
app.run(threaded=?)
threaded为True ,同时访问 /t1 和 /t2 路由 ,5秒后/t1 和 /t2 一起返回结果
threaded为False ,同时访问 /t1 和 /t2 路由 ,5秒后/t1返回结果,10秒后/t2返回结果
host="IP"
debug=True
port=8000
Gunicorn是一个WSGI HTTP Server,当使用gunicorn -w 4 -b 0.0.0.0:8000 app:app
启动应用时, 是不需要Flask配置的端口的,因为配置了也没用。