Пример #1
0
        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);
        }
Пример #2
0
 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();
     }
 }