forked from tangled.org/core
this repo has no description

jetstream: simplify processFunc and offload db.SaveLastTimeUs to caller

anirudh.fi ea6337f7 ee2ccb92

verified
Changed files
+4 -14
appview
state
jetstream
+1
appview/state/state.go
···
if err != nil {
return fmt.Errorf("failed to add follow to db: %w", err)
}
+
return db.SaveLastTimeUs(e.TimeUS)
}
return nil
+3 -14
jetstream/jetstream.go
···
}, nil
}
+
// StartJetstream starts the jetstream client and processes events using the provided processFunc.
+
// The caller is responsible for saving the last time_us to the database (just use your db.SaveLastTimeUs).
func (j *JetstreamClient) StartJetstream(ctx context.Context, processFunc func(context.Context, *models.Event) error) error {
logger := log.FromContext(ctx)
-
pf := func(ctx context.Context, e *models.Event) error {
-
err := processFunc(ctx, e)
-
if err != nil {
-
return err
-
}
-
-
if err := j.db.SaveLastTimeUs(e.TimeUS); err != nil {
-
return err
-
}
-
-
return nil
-
}
-
-
sched := sequential.NewScheduler(j.ident, logger, pf)
+
sched := sequential.NewScheduler(j.ident, logger, processFunc)
client, err := client.NewClient(j.cfg, log.New("jetstream"), sched)
if err != nil {