refactor: simplify ShouldDisableChannel function by removing unused parameters and commented-out code

This commit is contained in:
CaIon
2026-04-16 20:56:44 +08:00
parent 3cad6b9d7f
commit 22e509c1ef
3 changed files with 3 additions and 38 deletions
+1 -1
View File
@@ -830,7 +830,7 @@ func testAllChannels(notify bool) error {
newAPIError := result.newAPIError newAPIError := result.newAPIError
// request error disables the channel // request error disables the channel
if newAPIError != nil { if newAPIError != nil {
shouldBanChannel = service.ShouldDisableChannel(channel.Type, result.newAPIError) shouldBanChannel = service.ShouldDisableChannel(result.newAPIError)
} }
// 当错误检查通过,才检查响应时间 // 当错误检查通过,才检查响应时间
+1 -1
View File
@@ -351,7 +351,7 @@ func processChannelError(c *gin.Context, channelError types.ChannelError, err *t
logger.LogError(c, fmt.Sprintf("channel error (channel #%d, status code: %d): %s", channelError.ChannelId, err.StatusCode, err.Error())) logger.LogError(c, fmt.Sprintf("channel error (channel #%d, status code: %d): %s", channelError.ChannelId, err.StatusCode, err.Error()))
// 不要使用context获取渠道信息,异步处理时可能会出现渠道信息不一致的情况 // 不要使用context获取渠道信息,异步处理时可能会出现渠道信息不一致的情况
// do not use context to get channel info, there may be inconsistent channel info when processing asynchronously // do not use context to get channel info, there may be inconsistent channel info when processing asynchronously
if service.ShouldDisableChannel(channelError.ChannelType, err) && channelError.AutoBan { if service.ShouldDisableChannel(err) && channelError.AutoBan {
gopool.Go(func() { gopool.Go(func() {
service.DisableChannel(channelError, err.ErrorWithStatusCode()) service.DisableChannel(channelError, err.ErrorWithStatusCode())
}) })
+1 -36
View File
@@ -42,7 +42,7 @@ func EnableChannel(channelId int, usingKey string, channelName string) {
} }
} }
func ShouldDisableChannel(channelType int, err *types.NewAPIError) bool { func ShouldDisableChannel(err *types.NewAPIError) bool {
if !common.AutomaticDisableChannelEnabled { if !common.AutomaticDisableChannelEnabled {
return false return false
} }
@@ -58,41 +58,6 @@ func ShouldDisableChannel(channelType int, err *types.NewAPIError) bool {
if operation_setting.ShouldDisableByStatusCode(err.StatusCode) { if operation_setting.ShouldDisableByStatusCode(err.StatusCode) {
return true return true
} }
//if err.StatusCode == http.StatusUnauthorized {
// return true
//}
//if err.StatusCode == http.StatusForbidden {
// switch channelType {
// case constant.ChannelTypeGemini:
// return true
// }
//}
oaiErr := err.ToOpenAIError()
switch oaiErr.Code {
case "invalid_api_key":
return true
case "account_deactivated":
return true
case "billing_not_active":
return true
case "pre_consume_token_quota_failed":
return true
case "Arrearage":
return true
}
switch oaiErr.Type {
case "insufficient_quota":
return true
case "insufficient_user_quota":
return true
// https://docs.anthropic.com/claude/reference/errors
case "authentication_error":
return true
case "permission_error":
return true
case "forbidden":
return true
}
lowerMessage := strings.ToLower(err.Error()) lowerMessage := strings.ToLower(err.Error())
search, _ := AcSearch(lowerMessage, operation_setting.AutomaticDisableKeywords, true) search, _ := AcSearch(lowerMessage, operation_setting.AutomaticDisableKeywords, true)