···1111 "github.com/prometheus/client_golang/prometheus"
1212)
13131414-// Scheduler is a parallel scheduler that will run work on a fixed number of workers
1414+// Scheduler is a parallel scheduler that will run work on a fixed number of workers.
1515+//
1616+// Notably, this scheduler uses a per-DID task tracker to ensure that events are not processed concurrently for the same account. This does *not* mean that all events for the same DID are consistently processed by the same worker.
1517type Scheduler struct {
1618 maxConcurrency int
1719 maxQueue int
···3032 itemsAdded prometheus.Counter
3133 itemsProcessed prometheus.Counter
3234 itemsActive prometheus.Counter
3333- workesActive prometheus.Gauge
3535+ workersActive prometheus.Gauge
34363537 log *slog.Logger
3638}
···5153 itemsAdded: schedulers.WorkItemsAdded.WithLabelValues(ident, "parallel"),
5254 itemsProcessed: schedulers.WorkItemsProcessed.WithLabelValues(ident, "parallel"),
5355 itemsActive: schedulers.WorkItemsActive.WithLabelValues(ident, "parallel"),
5454- workesActive: schedulers.WorkersActive.WithLabelValues(ident, "parallel"),
5656+ workersActive: schedulers.WorkersActive.WithLabelValues(ident, "parallel"),
55575658 log: slog.Default().With("system", "parallel-scheduler"),
5759 }
···6062 go p.worker()
6163 }
62646363- p.workesActive.Set(float64(maxC))
6565+ p.workersActive.Set(float64(maxC))
64666567 return p
6668}