From d36a58341df2c9183836be101f35fa4566a2026d Mon Sep 17 00:00:00 2001 From: hailin Date: Sun, 21 Dec 2025 20:38:47 -0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E7=9F=AD=E4=BF=A1?= =?UTF-8?q?=E9=87=8D=E8=AF=95=E7=AD=96=E7=95=A5=E9=81=BF=E5=85=8D=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E6=B5=81=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 降低重试次数到 2 次 - 增加基础延迟到 3 秒 - 超时错误不重试(短信可能已发送成功) - 流控错误不重试 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../infrastructure/external/sms/sms.service.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/backend/services/identity-service/src/infrastructure/external/sms/sms.service.ts b/backend/services/identity-service/src/infrastructure/external/sms/sms.service.ts index 5977f692..18f57f63 100644 --- a/backend/services/identity-service/src/infrastructure/external/sms/sms.service.ts +++ b/backend/services/identity-service/src/infrastructure/external/sms/sms.service.ts @@ -14,16 +14,22 @@ export interface SmsSendResult { // 重试配置 const RETRY_CONFIG = { - maxRetries: 3, // 最大重试次数 - baseDelay: 1000, // 基础延迟 1 秒 - maxDelay: 5000, // 最大延迟 5 秒 + maxRetries: 2, // 最大重试次数(降低,避免触发流控) + baseDelay: 3000, // 基础延迟 3 秒(增加,避免触发分钟级流控) + maxDelay: 10000, // 最大延迟 10 秒 + // 只对连接阶段的错误重试,读取超时不重试(可能短信已发送) retryableErrors: [ + 'ECONNRESET', + 'ECONNREFUSED', + 'ENOTFOUND', // DNS 解析失败 + 'ServiceUnavailable', + ], + // 不重试的错误(可能短信已发送成功,只是响应慢) + noRetryErrors: [ 'ConnectTimeout', 'ReadTimeout', 'ETIMEDOUT', - 'ECONNRESET', - 'ECONNREFUSED', - 'ServiceUnavailable', + 'BUSINESS_LIMIT_CONTROL', // 流控 ], };