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")
if resp.StatusCode != http.StatusOK {
go func() {
// return pre-consumed quota
err := model.PostConsumeTokenQuota(tokenId, -preConsumedQuota)
if err != nil {
common.SysError("error return pre-consumed quota: " + err.Error())
}
}()
if preConsumedQuota != 0 {
go func() {
// return pre-consumed quota
err := model.PostConsumeTokenQuota(tokenId, -preConsumedQuota)
if err != nil {
common.SysError("error return pre-consumed quota: " + err.Error())
}
}()
}
return relayErrorHandler(resp)
}
}