Python Flask webserver停止响应

时间:2014-07-22 10:28:32

标签: python flask

我正在运行一个烧瓶网络服务器,它在测试期间工作正常,但现在每天至少冻结一次。我需要做的就是重新启动它,它会再次运行。有没有一种很好的方法来监控它,也许我应该在每次失败时杀死/重新启动它。人们是否会定期杀死他们的网络服务器,以避免发生这种事情?

3 个答案:

答案 0 :(得分:3)

如果您使用默认的Flask网络服务器:不要。它仅用于开发。

作为额外的资源,值得阅读这两篇关于部署Flask应用程序的博客文章:

http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xvii-deployment-on-linux-even-on-the-raspberry-pi http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xviii-deployment-on-the-heroku-cloud

为了监控网络服务器中的流程,您可以试试Watchy:

http://redbrain.github.io/watchy/

答案 1 :(得分:2)

虽然默认的Web服务器可能不是最适合生产的,但它可能不是崩溃的根本原因。我在内部网络的生产环境中使用它,它非常稳定。在指责Web服务器之前,请检查以确保您的代码可以处理可能相互冲突的请求。在我的情况下,在我对数据库表进行锁定之前,我遇到了很多稳定性问题,因此在先前的请求完成更新之前,某些请求将被阻止。 Flask无法确保您的代码是线程安全的。如果不是,更改Web服务器将不会有帮助。

答案 2 :(得分:0)

在我的情况下,我需要更改来自' sync'的worker_class。因为我做了一些异步任务,所以来自“gevent'”。然后不再挂起。