From 539398ea8e665b07d390732f6f4c534a9a4dd609 Mon Sep 17 00:00:00 2001 From: zhouchengrong Date: Mon, 19 Aug 2024 11:15:00 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=20=20sketch=20=E6=8F=90=E5=8F=96?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=E5=92=8C=20minio=E8=B6=85=E6=97=B6?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/service/utils/oss_client.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/app/service/utils/oss_client.py b/app/service/utils/oss_client.py index f37a5ce..5557641 100644 --- a/app/service/utils/oss_client.py +++ b/app/service/utils/oss_client.py @@ -11,6 +11,17 @@ from minio import Minio from app.core.config import * + +# 自定义 Retry 类 +class CustomRetry(urllib3.Retry): + def increment(self, method=None, url=None, response=None, error=None, **kwargs): + # 调用父类的 increment 方法 + new_retry = super(CustomRetry, self).increment(method, url, response, error, **kwargs) + # 打印重试信息 + logger.info(f"重试连接: {method} {url},错误: {error},重试次数: {self.total - new_retry.total}") + return new_retry + + logger = logging.getLogger() timeout = urllib3.Timeout(connect=1, read=10.0) # 连接超时 5 秒,读取超时 10 秒 http_client = urllib3.PoolManager( @@ -18,7 +29,7 @@ http_client = urllib3.PoolManager( maxsize=10, timeout=timeout, cert_reqs='CERT_REQUIRED', # 需要证书验证 - retries=urllib3.Retry( + retries=CustomRetry( total=5, backoff_factor=0.2, status_forcelist=[500, 502, 503, 504],