increases timeout

This commit is contained in:
talksik
2026-04-09 17:14:35 -07:00
parent 4cb562e1ea
commit 7352e02342
4 changed files with 16 additions and 10 deletions
+5 -5
View File
@@ -52,15 +52,15 @@ func main() {
// Pusher core
bridge := pusher.NewRedisBridge(pusherRedis, podID)
authorizer := pusher.NewAuthorizer(networkSvc)
hub := pusher.NewHub(bridge, authorizer)
bridge.SetHub(hub)
server := pusher.NewServer(hub, bridge, authSvc)
// Context for graceful shutdown
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
authorizer := pusher.NewAuthorizer(networkSvc)
hub := pusher.NewHub(bridge, authorizer)
bridge.SetHub(hub)
server := pusher.NewServer(ctx, hub, bridge, authSvc)
// Start hub event loop
go hub.Run(ctx)
+9 -3
View File
@@ -15,14 +15,17 @@ import (
type Server struct {
pbpusher.UnimplementedPusherServiceServer
ctx context.Context // server-scoped context for graceful shutdown
hub *Hub
bridge *RedisBridge
authSvc auth.AuthService
}
// NewServer creates a new pusher server.
func NewServer(hub *Hub, bridge *RedisBridge, authSvc auth.AuthService) *Server {
// NewServer creates a new pusher server. The ctx controls the lifetime of all
// WebSocket connections — when cancelled, all connections are closed gracefully.
func NewServer(ctx context.Context, hub *Hub, bridge *RedisBridge, authSvc auth.AuthService) *Server {
return &Server{
ctx: ctx,
hub: hub,
bridge: bridge,
authSvc: authSvc,
@@ -59,7 +62,10 @@ func (s *Server) HandleWebSocket(w http.ResponseWriter, r *http.Request) {
slog.Info("websocket connected", "connId", connID, "humanId", session.HumanId)
ctx, cancel := context.WithCancel(r.Context())
// Use server context, NOT r.Context(). After WebSocket upgrade, the HTTP
// request context can be cancelled by load balancers or Go's HTTP server,
// and nhooyr/websocket permanently closes the conn on any context error.
ctx, cancel := context.WithCancel(s.ctx)
defer cancel()
// Auto-subscribe to presence channel so this user appears online
+1 -1
View File
@@ -88,7 +88,7 @@ metadata:
name: pusher-backend-policy
spec:
default:
timeoutSec: 60
timeoutSec: 3600
connectionDraining:
drainingTimeoutSec: 30
targetRef:
+1 -1
View File
@@ -85,7 +85,7 @@ metadata:
name: pusher-backend-policy
spec:
default:
timeoutSec: 60
timeoutSec: 3600
connectionDraining:
drainingTimeoutSec: 30
targetRef: