部署模式
flask + Gunicorn + nginx
为什么要用Gunicorn + nginx ?
请看知乎大神们的回答:https://www.zhihu.com/question/38528616
场景
有一项业务,前端给后端发送ajax请求后,后端需要执行大约4分钟的时间才会给前端返回结果,而这时前端已经没有任何反应了.
原因
1. gunicorn超时
2.nginx proxy 超时
解决方法:
1.gunicorn需要配置超时时间,如果不配置,默认为30秒.
意思就是如果后端程序执行时间超过30秒没有结束, 就不会继续执行了,也不会返回值给前端, 后端也没有任何报错.
增加参数 timeout
from flask_script import Command, Option
class GunicornServer(Command):
description = 'Run the app within Gunicorn'
def __init__(self, host='127.0.0.1', port=5001, workers=50