我一直在用MySQL数据库记录家中的温度(每5分钟读取10个传感器),并且一直在使用Python,但是我想知道一些事情。。。在
目前,当我第一次运行我的程序时,我运行普通的connecttomysql,它只运行一次。在
db = MySQLdb.connect(mysql_server, mysql_username, mysql_passwd, mysql_db)
cursor = db.cursor()
然后我收集数据并成功地发布到数据库中。然后脚本休眠5分钟,然后再次启动并再次收集和发布数据,依此类推。但是,我只连接一次,从不断开;它只是在循环中继续运行。我只有在终止程序时才断开连接。在
这是最佳实践吗?也就是说,始终保持与MySQL服务器的连接处于打开状态,还是应该在完成插入/提交之后断开连接?在
我问这个问题的原因是:时不时地,我必须重新启动脚本,因为可能我的MySQL服务器已经离线或者其他问题。我应该:
MySQL服务器配置为处理固定数量的有限连接。这不是一个好的做法,捆绑一个连接,你不经常使用。因此,通常情况下,您应该在完成连接后立即关闭连接,只有在再次需要时才重新连接。MySQLdb的连接是上下文管理器,因此可以使用
with-statement
语法自动关闭连接。在为了保证健壮性,您可能需要使用try..,除非在第一次运行时,
connect
无法建立连接。在话虽如此,我还是把它放在crontab条目中,不用睡觉了。在
相关问题 更多 >
编程相关推荐