使用内部Werkzeug开发服务器部署Flask
为什么在生产环境中不推荐使用flask/werkzeug自带的开发用网页服务器? 这样做可能会出现什么问题呢?
我之所以问这个,是因为在工作中我被迫这样做,还得用一个临时的定时任务每天重新启动服务!
2 个回答
0
我在处理响应的时候做了一个网络请求,但这个请求没有设置超时时间。结果出现了问题,它一直在等待(我用的是 requests
模块),然后似乎就再也没有恢复过来。
因为 Werkzeug 服务器只有一个线程,所以整个开发服务器就完全无法使用了。
7
如果你需要每天用定时任务来杀掉并重启你的应用,那说明你在使用Flask开发服务器时已经遇到了一个大问题。这个开发服务器并不是为了稳定性、持久性、可配置性、安全性、速度等方面而设计的,它主要是为了方便开发时使用。
一个合适的WSGI设置会更快,能够正确处理多个连接,更重要的是,它会定期重启你的应用程序,清理可能积累的垃圾数据。