You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(shutdown): graceful WebSocket drain on SIGTERM #772
On shutdown, the relay hard-kills all WebSocket clients via webSocket.terminate(). During a rolling deploy, subscribers on the dying instance disconnect abruptly.
HAProxy can retry failed HTTP on another backend, but not in-flight WebSockets. /readyz (#763) handles readiness; WS drain is the missing piece before the HAProxy blue/green overlay.
Proposal
On SIGTERM:
Return 503 on /readyz and stop accepting new connections
Gracefully close existing WebSocket clients (not terminate())
Wait up to WS_DRAIN_TIMEOUT_MS (default 30s), then force-close stragglers
Activity
Ferryx349 commentedon Sep 16, 2026
Merged in #773