public static void timer_Elapsed(object sender, ElapsedEventArgs e) { try { Logger.Write("Timer Elapsed"); var timer = (Timer)sender; var scheduleManager = new ScheduleManager(); var schedule = scheduleManager.GetSchedule(); if (schedule != null) { Scheduler.Start(schedule); if (schedule.EndTime < DateTime.Now) schedule = scheduleManager.GetSchedule(); timer.Interval = DateTime.Now.AddMinutes(schedule.Frequency).RoundUp().TotalMilliseconds; Logger.Write("Next Call in :" + DateTime.Now.AddMinutes(schedule.Frequency).RoundUp()); } else { var nextSchedule = scheduleManager.GetNextSchedule(); timer.Interval = (nextSchedule.StartTime.RoundUp()).TotalMilliseconds; Logger.Write("No schedules till :" + nextSchedule.StartTime); } } catch (Exception) { throw; } }
public static void timer_Elapsed(object sender, ElapsedEventArgs e) { try { Logger.Write("Timer Elapsed"); var timer = (Timer)sender; var scheduleManager = new ScheduleManager(); var schedule = scheduleManager.GetSchedule(); if (schedule != null) { Scheduler.Start(schedule); if (schedule.EndTime < DateTime.Now) { schedule = scheduleManager.GetSchedule(); } timer.Interval = DateTime.Now.AddMinutes(schedule.Frequency).RoundUp().TotalMilliseconds; Logger.Write("Next Call in :" + DateTime.Now.AddMinutes(schedule.Frequency).RoundUp()); } else { var nextSchedule = scheduleManager.GetNextSchedule(); timer.Interval = (nextSchedule.StartTime.RoundUp()).TotalMilliseconds; Logger.Write("No schedules till :" + nextSchedule.StartTime); } } catch (Exception) { throw; } }
public static void Start(Schedule schedule) { lock (syncRoot) { var scheduleManager = new ScheduleManager(); if (scheduleManager.CanStartJob()) { Logger.Write("Job to be started"); scheduleManager.RunSheduledCampaigns(schedule.EmailBatchSize, schedule.SmsBatchSize); } else { Logger.Write("No scheduled jobs pending / Last job not completed. Job stopped"); } } }
public static void Start(Schedule schedule) { lock (syncRoot) { var scheduleManager = new ScheduleManager(); if (scheduleManager.CanStartJob()) { Logger.Write("Job to be started"); scheduleManager.RunSheduledCampaigns(schedule.EmailBatchSize, schedule.SmsBatchSize); } else { Logger.Write("No scheduled jobs pending / Last job not completed. Job stopped"); } } }