Skip to content

Commit 2f5ce65

Browse files
committed
nit + no leak
1 parent 77bb694 commit 2f5ce65

File tree

1 file changed

+25
-25
lines changed

1 file changed

+25
-25
lines changed

dbos/conductor.go

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -54,30 +54,6 @@ type Conductor struct {
5454
logger *slog.Logger
5555
}
5656

57-
// closeConn closes the connection and signals that reconnection is needed
58-
func (c *Conductor) closeConn() {
59-
// Cancel ping goroutine first
60-
if c.pingCancel != nil {
61-
c.pingCancel()
62-
c.pingCancel = nil
63-
}
64-
65-
if c.conn != nil {
66-
c.conn.SetWriteDeadline(time.Now().Add(5 * time.Second)) // Make sure the write doesn't block
67-
err := c.conn.WriteMessage(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, "shutting down"))
68-
if err != nil {
69-
c.logger.Warn("Failed to send close message", "error", err)
70-
}
71-
err = c.conn.Close()
72-
if err != nil {
73-
c.logger.Warn("Failed to close connection", "error", err)
74-
}
75-
c.conn = nil
76-
}
77-
// Signal that we need to reconnect
78-
c.needsReconnect.Store(true)
79-
}
80-
8157
// Launch starts the conductor connection manager goroutine
8258
func (c *Conductor) Launch() {
8359
c.logger.Info("Launching conductor", "url", c.url.String())
@@ -156,6 +132,30 @@ func (c *Conductor) Shutdown(timeout time.Duration) {
156132
})
157133
}
158134

135+
// closeConn closes the connection and signals that reconnection is needed
136+
func (c *Conductor) closeConn() {
137+
// Cancel ping goroutine first
138+
if c.pingCancel != nil {
139+
c.pingCancel()
140+
c.pingCancel = nil
141+
}
142+
143+
if c.conn != nil {
144+
c.conn.SetWriteDeadline(time.Now().Add(5 * time.Second)) // Make sure the write doesn't block
145+
err := c.conn.WriteMessage(websocket.CloseMessage, websocket.FormatCloseMessage(websocket.CloseNormalClosure, "shutting down"))
146+
if err != nil {
147+
c.logger.Warn("Failed to send close message", "error", err)
148+
}
149+
err = c.conn.Close()
150+
if err != nil {
151+
c.logger.Warn("Failed to close connection", "error", err)
152+
}
153+
c.conn = nil
154+
}
155+
// Signal that we need to reconnect
156+
c.needsReconnect.Store(true)
157+
}
158+
159159
// run manages the WebSocket connection lifecycle with reconnection
160160
func (c *Conductor) run() {
161161
defer c.wg.Done()
@@ -228,7 +228,7 @@ func (c *Conductor) run() {
228228

229229
// connect establishes a WebSocket connection to the conductor
230230
func (c *Conductor) connect() error {
231-
c.logger.Debug("Connecting to conductor", "url", c.url.String())
231+
c.logger.Debug("Connecting to conductor")
232232

233233
dialer := websocket.Dialer{
234234
HandshakeTimeout: _HANDSHAKE_TIMEOUT,

0 commit comments

Comments
 (0)