From 65bff54ce8e3f4785ccb5254260fc05519cd6afb Mon Sep 17 00:00:00 2001 From: Franklin-F Date: Thu, 24 Jul 2025 20:56:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0MySQL=E9=87=8D?= =?UTF-8?q?=E8=AF=95=E6=9C=BA=E5=88=B6=E4=B8=AD=E7=9A=84=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E4=BB=A3=E7=A0=812003=E5=B9=B6=E8=B0=83=E6=95=B4=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DB.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/DB.py b/DB.py index 4aa1b8e..2efa9f5 100644 --- a/DB.py +++ b/DB.py @@ -93,7 +93,7 @@ video_author = Table( def mysql_retry(max_retries: int = 3, base_delay: float = 10): - RETRIABLE_ERRORS = {2013, 1213, 2006, 1205} # 增加 1205 + RETRIABLE_ERRORS = {2003, 2013, 1213, 2006, 1205} # 增加 1205 def decorator(fn): @functools.wraps(fn) @@ -109,6 +109,7 @@ def mysql_retry(max_retries: int = 3, base_delay: float = 10): raise reason = { + 2003: "无法连接数据库(超时)", 2013: "连接断开", 1213: "死锁冲突", 2006: "连接失效", @@ -119,7 +120,7 @@ def mysql_retry(max_retries: int = 3, base_delay: float = 10): logger.warning( f"[MySQL][{fn.__name__}] 第{attempt}次重试({errno} {reason}):{e},等待 {wait:.1f}s...") - if errno in {2013, 2006}: + if errno in {2003, 2013, 2006}: self._reconnect_mysql() if errno == 1205: wait = base_delay + 5 # 比如锁等待固定加一点延迟