[英]How to set MySQLdb Connection timeout to infinity in python
每隔10个小时,我就在数据库上执行一些任务。 在脚本开始时,我只连接了一次数据库。 10小时后,数据库连接超时。 我可以在这里使用其他方法,但是我想知道如何将Connection timeout设置为infinity。 10小时后,我得到一个错误,如下所示。
码:
import MySQLdb,time
db = MySQLdb.connect("hostname", "user", "password", "db_name")
while True:
db.commit() # to refresh database
cursor = db.cursor()
cursor.execute("some query here")
db.commit()
cursor.close()
time.sleep(36000)# Wait for 10 hours
错误
OperationalError:(2006年,“ MySQL服务器已消失”)
问题是从数据库服务器端关闭了连接,您需要做的是;
如果使用linux,则可以每隔X秒钟使用cron来启动脚本,如果使用Windows,则可以在需要时使用调度任务服务来启动脚本。
在文档中,有两个超时。 一个是write_timeout
,另一个是connect_timeout
connect_timeout-连接时引发异常之前的超时。
(默认值:10,最小值:1,最大值:31536000)
write_timeout –写入连接的超时时间(以秒为单位)
(默认值:无-无超时)
据我了解,您需要使用connect_timeout。
希望这可以帮助! 干杯!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.