public void ScheduleDueJobsOn(IEnqueueTasks queue) { if (DateTime.Now.Subtract(lastScheduleRun) < scheduleInterval) { return; } schedule.QueueDueTasks(queue); lastScheduleRun = DateTime.Now; }
public void QueueDueTasks(IEnqueueTasks queue) { foreach (var task in this) { if (task.NextRun < DateTime.Now) { QueueScheduledTask(queue, task); } } }
private static void QueueScheduledTask(IEnqueueTasks queue, ScheduledTask task) { queue.Enqueue(task.TaskName, task.Payload); task.LastRun = DateTime.Now; }