namespace Elsa.Common.RecurringTasks; public class RecurringTaskScheduleManager { public IDictionary ScheduledTasks { get; set; } = new Dictionary(); public void ConfigureScheduledTask(ISchedule schedule) where T : IRecurringTask { ConfigureScheduledTask(typeof(T), schedule); } public void ConfigureScheduledTask(Type recurringTaskType, ISchedule schedule) { ScheduledTasks[recurringTaskType] = schedule; } public ISchedule GetScheduleFor(Type taskType) { return ScheduledTasks.TryGetValue(taskType, out var schedule) ? schedule : new IntervalSchedule(TimeSpan.FromMinutes(1)); } }