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],