Egg*_*der 5 python connection-pooling sqlalchemy
我想澄清一下 pre ping 功能如何与 SqlAlchemy 数据库池配合使用。假设我尝试使用数据库池对数据库进行 SQL 查询。如果数据库池发送预 ping 来检查连接并且连接断开,它是否会自动处理此问题?我所说的处理是指它重新连接然后发送 SQL 查询?或者我必须在我的代码中自己处理这个问题?
谢谢!
Sup*_*oot 6
来自文档来看,是的,陈旧的连接是透明处理的:
\n调用应用程序无需关心组织操作即可从池中检出的过时连接中恢复。\n
调用应用程序无需关心组织操作即可从池中检出的过时连接中恢复。
... 除非:
\n如果\xe2\x80\x9cpre ping\xe2\x80\x9d 运行时数据库仍然不可用,则\n初始连接将失败,并且\n连接失败的错误将正常传播。在数据库可用于连接但无法响应 \xe2\x80\x9cping\xe2\x80\x9d 的罕见情况下,\n\xe2\x80\x9cpre_ping\xe2\x80\x9d 将在放弃之前尝试最多三次,传播最后收到的数据库错误。\n
如果\xe2\x80\x9cpre ping\xe2\x80\x9d 运行时数据库仍然不可用,则\n初始连接将失败,并且\n连接失败的错误将正常传播。在数据库可用于连接但无法响应 \xe2\x80\x9cping\xe2\x80\x9d 的罕见情况下,\n\xe2\x80\x9cpre_ping\xe2\x80\x9d 将在放弃之前尝试最多三次,传播最后收到的数据库错误。
归档时间:
4 年,11 月 前
查看次数:
4424 次
最近记录: