+12
-6
cmd/monarch/main.go
+12
-6
cmd/monarch/main.go
···
70
70
sched := parallel.NewScheduler(1, 50, "firehose", rsc.EventHandler)
71
71
72
72
if err := events.HandleRepoStream(ctx, app.wsconn, sched, nil); err != nil {
73
-
return fmt.Errorf("error starting repo stream handler: %w", err)
73
+
slog.Info("exiting repo stream handler", "err", err)
74
74
}
75
75
76
76
return nil
···
83
83
return fmt.Errorf("error getting raw DB: %w", err)
84
84
}
85
85
if err := raw.Close(); err != nil {
86
-
return fmt.Errorf("error closing DB: %w", err)
86
+
return fmt.Errorf("DB close failed: %w", err)
87
87
}
88
88
return nil
89
89
}
90
90
91
-
app.backfill.Stop(ctx)
91
+
if err := app.backfill.Stop(ctx); err != nil {
92
+
slog.Error("error stopping backfiller", "err", err)
93
+
}
92
94
93
-
closeDatabase(app.state)
94
-
closeDatabase(app.content)
95
+
if err := closeDatabase(app.state); err != nil {
96
+
slog.Error("error closing DB", "err", err)
97
+
}
98
+
if err := closeDatabase(app.content); err != nil {
99
+
slog.Error("error closing DB", "err", err)
100
+
}
95
101
96
102
return nil
97
103
}
···
108
114
<-ctx.Done()
109
115
slog.Info("shutting down")
110
116
111
-
endctx, cancel := context.WithTimeout(context.TODO(), time.Second*15)
117
+
endctx, cancel := context.WithTimeout(context.TODO(), time.Minute)
112
118
defer cancel()
113
119
114
120
if err := app.Stop(endctx); err != nil {