关于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配置的端口的,因为配置了也没用。

processes=3

上一篇下一篇

猜你喜欢

热点阅读