perf: only return quota when it's not zero

This commit is contained in:
JustSong 2023-09-13 22:05:10 +08:00
parent 01863d3e44
commit 420c375140

View File

@ -347,13 +347,15 @@ func relayTextHelper(c *gin.Context, relayMode int) *OpenAIErrorWithStatusCode {
isStream = isStream || strings.HasPrefix(resp.Header.Get("Content-Type"), "text/event-stream") isStream = isStream || strings.HasPrefix(resp.Header.Get("Content-Type"), "text/event-stream")
if resp.StatusCode != http.StatusOK { if resp.StatusCode != http.StatusOK {
go func() { if preConsumedQuota != 0 {
// return pre-consumed quota go func() {
err := model.PostConsumeTokenQuota(tokenId, -preConsumedQuota) // return pre-consumed quota
if err != nil { err := model.PostConsumeTokenQuota(tokenId, -preConsumedQuota)
common.SysError("error return pre-consumed quota: " + err.Error()) if err != nil {
} common.SysError("error return pre-consumed quota: " + err.Error())
}() }
}()
}
return relayErrorHandler(resp) return relayErrorHandler(resp)
} }
} }