2

我在 pythonanywhere.com 托管一个网络应用程序并遇到一个奇怪的问题。每隔半小时左右我就会收到 OperationalError: (2006, 'MySQL server has gone away')。但是,如果我重新保存wsgi.py文件,错误就会消失。然后半小时后再次出现……

在加载主页期间,我的应用程序检查 1x1 表中的 BOOL 字段(基本上是应该打开还是关闭注册)。唯一的其他 MySQL 操作是插入另一个小表,但这些操作似乎都与问题无关。

关于如何解决这个问题的任何想法?我可以根据需要提供更多信息。在此先感谢您的帮助。

编辑

问题原来是知道代码的某些部分何时运行。我假设每次加载页面时都会打开一个新连接。此情况并非如此; 但是,我现在已经修好了。

4

1 回答 1

4

这通常是因为您的mysql网络连接断开,可能是您的网络网关/路由器,所以您有两种选择。一个是在每次查询之前总是建立一个 mysql 连接(不使用连接池等)。其次是尝试捕获此错误,然后再次获取连接并查询数据库。

于 2013-12-01T06:10:26.723 回答