feat: increment RPM counter before request forwarding

This commit is contained in:
QTom
2026-02-28 01:25:50 +08:00
parent 678c3ae132
commit f648b8e026
2 changed files with 23 additions and 0 deletions

View File

@@ -366,6 +366,13 @@ func (h *GatewayHandler) Messages(c *gin.Context) {
// 账号槽位/等待计数需要在超时或断开时安全回收
accountReleaseFunc = wrapReleaseOnDone(c.Request.Context(), accountReleaseFunc)
// RPM 计数递增调度成功后、Forward 前)
if account.IsAnthropicOAuthOrSetupToken() && account.GetBaseRPM() > 0 {
if h.gatewayService.IncrementAccountRPM(c.Request.Context(), account.ID) != nil {
// 失败开放:不阻塞请求
}
}
// 转发请求 - 根据账号平台分流
var result *service.ForwardResult
requestCtx := c.Request.Context()
@@ -549,6 +556,13 @@ func (h *GatewayHandler) Messages(c *gin.Context) {
// 账号槽位/等待计数需要在超时或断开时安全回收
accountReleaseFunc = wrapReleaseOnDone(c.Request.Context(), accountReleaseFunc)
// RPM 计数递增调度成功后、Forward 前)
if account.IsAnthropicOAuthOrSetupToken() && account.GetBaseRPM() > 0 {
if h.gatewayService.IncrementAccountRPM(c.Request.Context(), account.ID) != nil {
// 失败开放:不阻塞请求
}
}
// 转发请求 - 根据账号平台分流
var result *service.ForwardResult
requestCtx := c.Request.Context()