13

我一直在开发一个 Flask 应用程序,它使用 Twilio 处理 SMS 消息,将它们存储在数据库中,并通过 JSONP GET 请求提供对前端的访问。我已经使用 supervisord 对其进行了守护,这似乎工作得很好,但是每隔几天它就会开始挂起(即所有请求都永远挂起或超时),我必须重新启动该过程。(我也试过用 nohup 简单地运行它,但同样的问题。)我怀疑 sqlite3 偶尔会阻塞,但我最近的测试是编写一个不涉及数据库访问的请求方法,那就是超时也。我非常困惑——希望你见过类似的东西或者知道是什么原因造成的。

相关代码可以在这里找到,它目前正在我的 VPS 上运行(并且在这篇文章中停滞不前),地址为mattnichols.net:6288

谢谢!

更新:你认为这可能是 Flask 的开发服务器的问题吗?我想相信用 Tornado(或类似的东西)包装我的应用程序可以解决这个问题,但我也运行其他东西的时间更长,使用开发服务器没有问题。

4

1 回答 1

9

作为记录,这似乎已经通过使用 Tornado 而不是 Flask 开发服务器运行我的应用程序来解决。一旦我决定这样做,将我的 Flask 代码包装到 Tornado 服务器中是非常容易的:如果你发现自己处于同样的情况,请查阅http://flask.pocoo.org/docs/deploying/wsgi-standalone/#tornado 。

于 2012-11-19T19:09:58.067 回答