gpt4 book ai didi

mysql - 如何检测 MySQL 中的临时故障?

转载 作者:可可西里 更新时间:2023-11-01 06:38:41 25 4
gpt4 key购买 nike

我正在编写一个 python 实用程序来在 MySQL 服务器上执行大量请求。其中一项要求是,如果我们检测到临时故障(例如,如果网络暂时关闭),则重试查询(一段时间后)。我们使用 MySQL Connector/Python .

基本思路是:

try:
cursor = cnx.get_cursor()
except:
# If error is temporary, wait and retry
# else stop
try:
cursor.execute(request)
except:
# If error is temporary, wait and retry
# else stop

游标的创建和请求是分开处理的,以简化错误处理。

问题是似乎很难检测到值得重试的情况。 AFAI,MySQL错误和PEP 249 errors之间的映射在 MysQL 连接器/Python 中不容易使用。例如,错误 2013(失去与服务器的连接)被映射到 InterfaceError 而错误 2006(服务器已经消失)被映射到 OperationalError 而这两种情况都值得重试。

所以我想知道是否有一种常规方法(可能基于errno)来对此类错误进行分类。

最佳答案

import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

for i in range(0,100):
while True:
try:
result = sock.connect_ex(('irc.myserver.net', 6667))
if result == 0:
break
else:
continue

你能在做数据传输之前或之后尝试这种事情你可以检查数据库之间的连接然后如果一切正常你可以执行查询

关于mysql - 如何检测 MySQL 中的临时故障?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50494324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com