public Schedule(string name, IScheduledComponent component, DateTime startTime, DateTime endTime, int repeatSchedule, int useMultiCoreProcess) { //Check if the schedule is configured to run continuously without end time!! if (startTime.ToShortTimeString().Equals("00:00") && endTime.ToShortTimeString().Equals("00:00") && repeatSchedule > 0) { endTime = DateTime.MaxValue; } if (startTime > endTime) { endTime = startTime; } if (startTime == endTime) { repeatSchedule = 0; } else if (repeatSchedule == 0) { endTime = startTime; } LoggerName = name; LoggerComponent = component; _startTime = startTime; _endTime = endTime; _repeatSchedule = repeatSchedule; _scheduleProcessStatus = Scheduler.ScheduleProcessStatus.Created; _useMultiCoreProcess = Convert.ToBoolean(useMultiCoreProcess); }
private void StopSchedules(ScheduleProcessStatus status) { try { if (_schedules != null) { _schedules.ForEach(s => { if (s.ScheduleStatus == ScheduleProcessStatus.Running) { s.ScheduleStatus = status; } }); _schedulesStarted = false; } } catch (Exception ex) { _logger.Log("Service failed to stop schedules! Stopping Service... \r\n" + ex.ToString()); base.Stop(); } }