问题描述
我有一个在树莓派零 w+ 上运行的 python 脚本,它不断读取一些传感器并将数据记录到 MysqL 数据库中。数据库位于与 pi 分开的服务器中,可通过 Internet 访问。 每当互联网连接和/或 wifi 中断时,脚本就会挂起并且执行似乎仍在继续,但它会无限死,直到用 Ctrl+C 或 Ctrl+Z 停止。
我试过使用
try:
cursor.execute(query)
XXXX
except:
pass
try:
if(conection.is_connected()):
cursor.execute(query)
XXXX
except:
pass
但不是引发异常,脚本只是挂起并需要停止。
我也尝试过设置连接超时,结果相同。
有什么想法吗?
干杯 J
解决方法
解决了! 我将连接器从 mysql 连接器更改为 PyMySQL,它具有 read_timeout 和 write_timeout 作为连接参数,当连接丢失且超时已过时引发异常。我在官方 MySQL 连接器中找不到此功能。
干杯 J