metricsHandler metrics.Handler,
timeSource clock.TimeSource,
return &ExecutionAwareScheduler[T]{
baseScheduler: baseScheduler,
executionQueueScheduler: newExecutionQueueScheduler(
options.MaxQueues,
options.QueueTTL,
options.QueueConcurrency,
queueKeyFn,
logger,
metricsHandler,
timeSource,
),
queueKeyFn: queueKeyFn,
options: options,
logger: logger,
}
}
func (s *ExecutionAwareScheduler[T]) Start() {