如何解决当 MySQL 连接器由于互联网或 wifi 掉线而失去连接时,Python 脚本挂起
我有一个在树莓派零 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。