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