python 如何在 client 实现 sql 查询 timeout?

python 如何在 client 实现 sql 查询 timeout?

在使用 django orm、peewee、sqlalchemy 等等 orm;pymysql 等驱动库、fastapi、flask、django 等 app;uvicorn、gunicorn 等等 server 的时候,如何实现 sql 查询超过一个 『阈值』之后,timeout 终止?

比如我用 uvicorn + fastapi + peewee + pymysql 等时候,有些 sql 需要的查询时间为 [0,+&) 。但是这样有潜在的安全隐患,我需要设置一个查询时间上限,比如 [0,100), 一个 sql 不能跑超过 100 秒。

有什么办法实现?要求优雅!

只允许在 client 设置,不允许修改 mysql server,因为数据库不是只给你用的。


回答:

pymysql 参数
"connection_timeout": 60,
"read_timeout": 60,
"write_timeout": 60,


回答:

(pymysql.connections.Connection)[https://pymysql.readthedocs.i...] 有三个参数:
read_timeout, write_timeout, connect_timeout 。

以上是 python 如何在 client 实现 sql 查询 timeout? 的全部内容, 来源链接: utcz.com/p/938588.html

回到顶部