import (
"context"
"fmt"
- "os"
+ "time"
"git.arvados.org/arvados.git/lib/cmd"
"git.arvados.org/arvados.git/lib/service"
if err != nil {
return service.ErrorHandler(ctx, cluster, fmt.Errorf("error initializing client from cluster config: %s", err))
}
+ client.Timeout = time.Minute
eventSource := &pgEventSource{
DataSource: cluster.PostgreSQL.Connection.String(),
MaxOpenConns: cluster.PostgreSQL.ConnectionPool,
QueueSize: cluster.API.WebsocketServerEventQueue,
Logger: ctxlog.FromContext(ctx),
+ Reg: reg,
}
+ done := make(chan struct{})
go func() {
eventSource.Run()
ctxlog.FromContext(ctx).Error("event source stopped")
- if !testMode {
- os.Exit(1)
- }
+ close(done)
}()
eventSource.WaitReady()
if err := eventSource.DBHealth(); err != nil {
cluster: cluster,
client: client,
eventSource: eventSource,
- newPermChecker: func() permChecker { return newPermChecker(*client) },
+ newPermChecker: func() permChecker { return newPermChecker(client) },
+ done: done,
+ reg: reg,
}
return rtr
}