pymysql是Python连接和操作mysql的模块, 在项目中, 有一个需求, 就是设置查询的超时时间, 一旦超过预设的时间, 需要抛出超时的异常信息, 查看源码.0.7.2 版本的pymysql的Connection的参数没有超时设置,如图:

 参数中有连接超时的配置型, 但是没有查询超时的配置信息,

到pymysql官网上查了下, 0.9.3版本,发现读数据超时, 写数据超时 的配置项都有,如图

 更新pymysql

在初始化连接时, 加上读取超时的配置项即可,单位是秒 

例如:

pymysql.connect(read_timeout=60, write_timeout=60, host=host, port=port, user=username, passwd=password, db=db_name)

如果查询超时, 就会抛出异常信息:

Lost connection to MySQL server during query (timed out)

实质上,超时时间的设置是通过对socket对象的设置,

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐