private bool IsTaskCategoryRunning(PiTask task) { for (int i = 0; i < _runningTasks.Count; i++) { var t = _runningTasks[i]; if (t.Category == task.Category) { return(true); } } return(false); }
/// <summary> /// Enqueues a task at the correct index based on <see cref="PiTask.NextOccurrence"/>. /// </summary> public void Enqueue(PiTask task) { var taskCount = _tasks.Count; for (int i = 0; i < taskCount; i++) { var t = (_tasks[i]); if (task.NextOccurrence <= t.NextOccurrence) { _tasks.Insert(i, task); return; } } _tasks.Add(task); }
private void RunTask(PiTask task) { task.Execute(); _taskQueue.Enqueue(task); }