Merge pull request #2120 from gaoren002/fix/rate-limit-429-cooldown-config

fix(rate-limit): make 429 fallback cooldown configurable
This commit is contained in:
Wesley Liddick
2026-05-05 19:46:11 +08:00
committed by GitHub
15 changed files with 520 additions and 12 deletions
+16
View File
@@ -381,6 +381,14 @@ type OverloadCooldownSettings struct {
CooldownMinutes int `json:"cooldown_minutes"`
}
// RateLimit429CooldownSettings 429默认回避配置
type RateLimit429CooldownSettings struct {
// Enabled 是否在无法解析上游重置时间时应用默认429回避
Enabled bool `json:"enabled"`
// CooldownSeconds 默认回避时长(秒)
CooldownSeconds int `json:"cooldown_seconds"`
}
// DefaultOverloadCooldownSettings 返回默认的过载冷却配置(启用,10分钟)
func DefaultOverloadCooldownSettings() *OverloadCooldownSettings {
return &OverloadCooldownSettings{
@@ -389,6 +397,14 @@ func DefaultOverloadCooldownSettings() *OverloadCooldownSettings {
}
}
// DefaultRateLimit429CooldownSettings 返回默认的429回避配置(启用,5秒)
func DefaultRateLimit429CooldownSettings() *RateLimit429CooldownSettings {
return &RateLimit429CooldownSettings{
Enabled: true,
CooldownSeconds: 5,
}
}
// DefaultBetaPolicySettings 返回默认的 Beta 策略配置
func DefaultBetaPolicySettings() *BetaPolicySettings {
return &BetaPolicySettings{