add graceful shutdown, add reconnect on connection loss
This commit is contained in:
@@ -80,7 +80,12 @@ func (tr *FoundryTransport) ListenWebSocket() {
|
||||
for {
|
||||
_, message, err := tr.WsConn.ReadMessage()
|
||||
if err != nil {
|
||||
tr.ReadChan.Err() <- &types.FoundryError{Direction: types.ReaderCode, Err: err, Type: types.WebSocketCode}
|
||||
select {
|
||||
case <-tr.ReadChan.Done():
|
||||
return
|
||||
default:
|
||||
tr.ReadChan.Err() <- &types.FoundryError{Direction: types.ReaderCode, Err: err, Type: types.WebSocketCode, IsFatal: true}
|
||||
}
|
||||
return
|
||||
}
|
||||
data, err := types.ParseWsRespMessage(string(message), types.RequestCodes)
|
||||
@@ -105,7 +110,7 @@ func (tr *FoundryTransport) GetJsonData(stateType string) ([]byte, error) {
|
||||
return tr.HandleWebsocketRequest(msg)
|
||||
}
|
||||
|
||||
func (tr *FoundryTransport) CloseWebSocketConn() {
|
||||
func (tr *FoundryTransport) CloseWebSocketConn() error {
|
||||
tr.Logger.Debug("Websocket has been closed")
|
||||
tr.WsConn.Close()
|
||||
return tr.WsConn.Close()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user