an app.bsky.* indexer

tweak some error handling

Changed files
+12 -6
cmd
monarch
+12 -6
cmd/monarch/main.go
···
sched := parallel.NewScheduler(1, 50, "firehose", rsc.EventHandler)
if err := events.HandleRepoStream(ctx, app.wsconn, sched, nil); err != nil {
-
return fmt.Errorf("error starting repo stream handler: %w", err)
}
return nil
···
return fmt.Errorf("error getting raw DB: %w", err)
}
if err := raw.Close(); err != nil {
-
return fmt.Errorf("error closing DB: %w", err)
}
return nil
}
-
app.backfill.Stop(ctx)
-
closeDatabase(app.state)
-
closeDatabase(app.content)
return nil
}
···
<-ctx.Done()
slog.Info("shutting down")
-
endctx, cancel := context.WithTimeout(context.TODO(), time.Second*15)
defer cancel()
if err := app.Stop(endctx); err != nil {
···
sched := parallel.NewScheduler(1, 50, "firehose", rsc.EventHandler)
if err := events.HandleRepoStream(ctx, app.wsconn, sched, nil); err != nil {
+
slog.Info("exiting repo stream handler", "err", err)
}
return nil
···
return fmt.Errorf("error getting raw DB: %w", err)
}
if err := raw.Close(); err != nil {
+
return fmt.Errorf("DB close failed: %w", err)
}
return nil
}
+
if err := app.backfill.Stop(ctx); err != nil {
+
slog.Error("error stopping backfiller", "err", err)
+
}
+
if err := closeDatabase(app.state); err != nil {
+
slog.Error("error closing DB", "err", err)
+
}
+
if err := closeDatabase(app.content); err != nil {
+
slog.Error("error closing DB", "err", err)
+
}
return nil
}
···
<-ctx.Done()
slog.Info("shutting down")
+
endctx, cancel := context.WithTimeout(context.TODO(), time.Minute)
defer cancel()
if err := app.Stop(endctx); err != nil {