an app.bsky.* indexer

move app.Stop out of go routine, use simple chan receive for endctx

Changed files
+6 -10
cmd
monarch
+6 -10
cmd/monarch/main.go
···
endctx, cancel := context.WithTimeout(context.TODO(), time.Minute)
defer cancel()
-
go func() {
-
if err := app.Stop(endctx); err != nil {
-
slog.Error("error during shutdown", "err", err)
-
}
-
}()
+
if err := app.Stop(endctx); err != nil {
+
slog.Error("error during shutdown", "err", err)
+
}
-
select {
-
case <-endctx.Done():
-
if errors.Is(endctx.Err(), context.DeadlineExceeded) {
-
slog.Info("timeout exceeded")
-
}
+
<-endctx.Done()
+
if errors.Is(endctx.Err(), context.DeadlineExceeded) {
+
slog.Info("timeout exceeded")
}
return nil