如何获取数据库实例并关闭它?龙卷风

时间:2014-08-01 13:21:49

标签: python mysql tornado

我遇到了MySQL超时问题,8小时后就离开了。我使用谷歌应用引擎作为主机。我的Python脚本使用Tornado框架。

现在我在主服务器脚本顶部的任何函数之前实例化我的MySQL数据库连接。一旦我部署了它,时钟开始计时,大约8个小时后,MySQL将消失,我将不得不再次部署我的脚本。

我一直没有使用db.close(),因为我听说重启数据库连接需要很长时间。这是真的?或者有没有正确的方法来使用db.close()?

我的一位朋友建议我尝试获取数据库实例,然后在每个函数之后将其关闭..是推荐的,我可以在哪里找到一些教程?

我主要在这里寻找资源,但是如果有人想为我做好准备,那就太棒了。

提前谢谢大家。

2 个答案:

答案 0 :(得分:1)

由于wait_timeout会话变量,连接正在消失 是服务器在非交互式连接上等待活动的秒数 关闭之前。 http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_wait_timeout

好的方法是每次关闭连接并创建一个新的连接,如果你不经常重复使用相同的连接,否则你可以增加wait_timeout

的值

答案 1 :(得分:0)

建立与MySQL数据库的连接应该非常快,并且只要你需要就保持连接打开当然是个好习惯。

我不确定为什么您的连接在8小时内无响应 - 您是否尝试过检查设置?

Python中的正确命令是connection.close()。