Versions in this module Expand all Collapse all v0 v0.19.2 Jul 10, 2024 Changes in this version + const TaskActive + const TaskDone + const TaskDropped + const TaskFailed + const TaskPending + var DispatcherQueueLength = prometheus.NewGauge(prometheus.GaugeOpts{ ... }) + var DispatcherTasksActive = prometheus.NewGauge(prometheus.GaugeOpts{ ... }) + var DispatcherTasksDone = prometheus.NewCounterVec(prometheus.CounterOpts{ ... }, []string{ ... }) + var DispatcherTasksDropped = prometheus.NewCounter(prometheus.CounterOpts{ ... }) + var DispatcherTasksFailed = prometheus.NewCounterVec(prometheus.CounterOpts{ ... }, []string{ ... }) + var DispatcherTasksQueued = prometheus.NewCounter(prometheus.CounterOpts{ ... }) + var ErrInvalidPayload = errors.New("invalid payload") + func RegisterMetrics() + func SetLogger(l *zap.SugaredLogger) + func WaitUntilTrue(ctx context.Context, between time.Duration, f func() bool) error + type Dispatcher struct + func Start(parallel int, worker Worker, tasksBuffer int) Dispatcher + func (d *Dispatcher) Dispatch(payload interface{}) *Result + func (d Dispatcher) Stop() + type Result struct + Error error + Status int + func (r Result) Done() bool + func (r Result) Failed() bool + func (r Result) Value() <-chan interface{} + type Task struct + Dispatcher *Dispatcher + Payload interface{} + func (t Task) SetResult(v interface{}) + type Worker interface + Work func(Task) error