我一直在使用Flask应用程序,它使用Twilio处理SMS消息,将它们存储在数据库中,并通过JSONP GET请求提供对前端的访问。我已经使用supervisord对它进行了守护,这看起来效果很好,但每隔几天就会开始挂起(即所有请求永久挂起或超时)我必须重新启动进程。 (我也试过简单地用nohup运行它,但同样的问题。)我怀疑sqlite3偶尔会阻塞,但我最近的测试是写一个不涉及数据库访问的请求方法,那是超时的太。我非常困惑 - 希望你看到类似的东西,或者知道可能导致这种情况的原因。
可以找到相关代码here,并且mattnichols.net:6288
在我的VPS上正在运行(并且此帖已停止)谢谢!
更新:您认为这可能是Flask的开发服务器的问题吗?我想相信用Tornado(或类似的东西)包装我的应用程序可以解决问题,但是我还运行其他东西的时间更长,没有使用开发服务器的问题。
答案 0 :(得分:9)
为了记录,这似乎已经通过使用Tornado而不是Flask开发服务器运行我的应用程序来解决。一旦我决定将我的Flask代码包装到Tornado服务器中就非常容易:如果你发现自己处于同样的情况,请咨询http://flask.pocoo.org/docs/deploying/wsgi-standalone/#tornado。