Skip to content

Commit

Permalink
🔖 chore: openai realtime add error log
Browse files Browse the repository at this point in the history
  • Loading branch information
MartialBE committed Nov 27, 2024
1 parent b564ede commit cacfc1b
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 9 deletions.
14 changes: 6 additions & 8 deletions common/requester/ws_proxy.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
package requester

import (
"fmt"
"time"

"github.com/gorilla/websocket"

"one-api/common/logger"
"one-api/types"
)

Expand Down Expand Up @@ -70,27 +72,21 @@ func (p *WSProxy) transfer(src, dst *websocket.Conn, source MessageSource, close
p.done <- struct{}{}
}()

inactivityTimer := time.NewTimer(p.timeout)
defer inactivityTimer.Stop()

for {
src.SetReadDeadline(time.Now().Add(p.timeout))

messageType, message, err := src.ReadMessage()
if err != nil {
logger.SysError(fmt.Sprintf("source: %d, ReadMessage error: %s", source, err.Error()))
return
}

if !inactivityTimer.Stop() {
<-inactivityTimer.C
}
inactivityTimer.Reset(p.timeout)

if p.handler != nil {
shouldContinue, usage, newMessage, err := p.handler(source, messageType, message)
if err != nil {
errMsg := []byte(err.Error())
dst.WriteMessage(websocket.TextMessage, errMsg)
logger.SysError(fmt.Sprintf("source: %d, handler error: %s", source, err.Error()))
return
}

Expand All @@ -108,13 +104,15 @@ func (p *WSProxy) transfer(src, dst *websocket.Conn, source MessageSource, close
dst.WriteMessage(websocket.TextMessage, message)
errMsg := []byte(err.Error())
dst.WriteMessage(websocket.TextMessage, errMsg)
logger.SysError(fmt.Sprintf("source: %d, usageHandler error: %s", source, err.Error()))
return
}
}
}

err = dst.WriteMessage(messageType, message)
if err != nil {
logger.SysError(fmt.Sprintf("source: %d, WriteMessage error: %s", source, err.Error()))
return
}
}
Expand Down
2 changes: 2 additions & 0 deletions providers/openai/realtime.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"net/http"
"one-api/common"
"one-api/common/config"
"one-api/common/logger"
"one-api/common/requester"
"one-api/types"

Expand Down Expand Up @@ -58,6 +59,7 @@ func (p *OpenAIProvider) HandleMessage(source requester.MessageSource, messageTy

// 处理错误事件
if event.IsError() {
logger.SysError("event error: " + event.Error())
return false, nil, nil, &event
}

Expand Down
2 changes: 1 addition & 1 deletion relay/realtime.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func ChatRealtime(c *gin.Context) {

relay.usage = &types.UsageEvent{}

wsProxy := requester.NewWSProxy(relay.userConn, relay.providerConn, time.Minute*1, relay.messageHandler, relay.usageHandler)
wsProxy := requester.NewWSProxy(relay.userConn, relay.providerConn, time.Minute*2, relay.messageHandler, relay.usageHandler)

wsProxy.Start()

Expand Down

0 comments on commit cacfc1b

Please sign in to comment.