void Scheduler::IntervalCheck() { m_bDetectClockChanges = true; m_bExecuteProcess = true; m_bDownloadRateChanged = false; m_bPauseDownloadChanged = false; m_bPauseScanChanged = false; CheckTasks(); }
void Scheduler::FirstCheck() { m_mutexTaskList.Lock(); m_TaskList.sort(CompareTasks); m_mutexTaskList.Unlock(); // check all tasks for the last week time_t tCurrent = time(NULL); m_tLastCheck = tCurrent - 60*60*24*7; m_bDetectClockChanges = false; m_bExecuteProcess = false; m_bDownloadRateChanged = false; m_bPauseDownloadChanged = false; m_bPauseScanChanged = false; CheckTasks(); }
void Scheduler::FirstCheck() { { Guard guard(m_taskListMutex); std::sort(m_taskList.begin(), m_taskList.end(), [](std::unique_ptr<Task>& task1, std::unique_ptr<Task>& task2) { return (task1->m_hours < task2->m_hours) || ((task1->m_hours == task2->m_hours) && (task1->m_minutes < task2->m_minutes)); }); } // check all tasks for the last week CheckTasks(); }
void Scheduler::ServiceWork() { if (!DownloadQueue::IsLoaded()) { return; } if (!m_firstChecked) { FirstCheck(); m_firstChecked = true; return; } m_executeProcess = true; CheckTasks(); CheckScheduledResume(); }
void Scheduler::ServiceWork() { debug("Scheduler service work"); if (!DownloadQueue::IsLoaded()) { return; } debug("Scheduler service work: doing work"); if (!m_firstChecked) { FirstCheck(); m_firstChecked = true; return; } m_executeProcess = true; CheckTasks(); CheckScheduledResume(); ScheduleNextWork(); }