#1169·PyMySQL

可选择为 ping 添加超时时间

作者: smarden1创建于 2024年4月29日更新于 2026年5月29日

pymsql 库目前支持连接、读取和写入的超时,但没有针对 ping 的特定超时。这个库与更高级的库(如 sqlalchemy)之间存在有趣的交互作用。sqlalchemy 中的连接池的许多默认类通常允许使用 `pool_pre_ping` 选项,该选项会在检查连接是否在池中时对连接进行 ping。如果连接没有响应或被确定为未连接,则池将获取一个全新的连接。从概念上讲,这种预先 ping 实际上相当于连接,但如果连接出现挂起或处于不良状态,就无法快速设置超时。可以将读/写超时设置为较低,但实际上很难实现,因为一旦事务打开或连接处于使用状态,就有理由容忍一些读/写延迟。虽然这个库不一定有责任提供使用连接超时的 ping,但如果能提供此选项就太好了。

内容来源: PyMySQL/PyMySQL