diff --git a/backend/internal/service/rock_delivery_log.go b/backend/internal/service/rock_delivery_log.go index 6f73560..f906ec6 100644 --- a/backend/internal/service/rock_delivery_log.go +++ b/backend/internal/service/rock_delivery_log.go @@ -20,7 +20,8 @@ const ( // 单个报文字段最大长度,避免异常大响应拖垮数据库;超出部分截断并标注。 rockDeliveryLogMaxBodyBytes = 512 * 1024 // 上游 110001 频控后的全局冷却时间。 - rockRateLimitCooldown = 60 * time.Second + // 默认 5 秒:释放校验等人工操作可以快速重试;自动轮询仍有各自的退避与防抖。 + rockRateLimitCooldown = 5 * time.Second ) // rockUpstreamRateLimitedUntil 记录上游频控解禁时间(UnixNano)。 diff --git a/backend/internal/service/rock_redeem_confirm.go b/backend/internal/service/rock_redeem_confirm.go index 85f8542..fe885af 100644 --- a/backend/internal/service/rock_redeem_confirm.go +++ b/backend/internal/service/rock_redeem_confirm.go @@ -39,7 +39,7 @@ func (s *RockService) SetRedeemConfirmHook(hook func(ctx context.Context, order // RunRedeemConfirmWorker 启动发货结果确认任务:每 20 秒扫描一次「发货确认中」标记。 // -// 频控保护:上游 110001 时全局冷却 60 秒,且每个 Token 使用指数退避, +// 频控保护:上游 110001 时全局冷却 5 秒,且每个 Token 使用指数退避, // 避免把 0666.pro 的公开刷新接口打成持续频控。 func (s *RockService) RunRedeemConfirmWorker(ctx context.Context) { lastCleanup := time.Now() diff --git a/backend/internal/service/rock_release_test.go b/backend/internal/service/rock_release_test.go index eaf11a5..17d023f 100644 --- a/backend/internal/service/rock_release_test.go +++ b/backend/internal/service/rock_release_test.go @@ -141,7 +141,7 @@ func TestCheckReleaseToken_RateLimitCooldownSkipsUpstream(t *testing.T) { t.Fatalf("创建 Token 失败: %v", err) } - rockUpstreamRateLimitedUntil.Store(time.Now().Add(30 * time.Second).UnixNano()) + rockUpstreamRateLimitedUntil.Store(time.Now().Add(rockRateLimitCooldown).UnixNano()) t.Cleanup(func() { rockUpstreamRateLimitedUntil.Store(0) }) res, err := svc.CheckReleaseToken(context.Background(), token.ID)