public void AddTask(Execution execution) { if (execution.ScheduleTime == null) { ExecutionsQueue.Enqueue(execution); } else { ScheduledExecution.Add(execution); } LogMessages.Add(new LogMessage("Added " + (execution.ScheduleTime == null ? "" : "Scheduled ") + " task " + execution.Id + " with " + execution.ExecutionsScriptses.Count + " sub tasks")); }
private void ExecuteScheduledOrRegularTask() { Execution execution = ScheduledExecution.FirstOrDefault(e => e.ScheduleTime <= DateTime.Now); if (execution != null) { LogMessages.Add(new LogMessage("Start to execute scheduled task")); ExecuteTask(execution); } else if (ExecutionsQueue.Count > 0) { LogMessages.Add(new LogMessage("Start to execute regular task")); execution = ExecutionsQueue.Dequeue(); ExecuteTask(execution); } }