using Quartz; using Quartz.Impl; using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace iBemsDataService.Controllers.Fms.WorkManagement.ScheduledTask { public class FmsWorkManagementJobScheduler { public static void Start() { IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler(); scheduler.Start(); IJobDetail job = JobBuilder.Create().Build(); ITrigger trigger = TriggerBuilder.Create() .WithDailyTimeIntervalSchedule(s => s.WithIntervalInHours(24) .OnEveryDay() .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(0, 0)) ).Build(); scheduler.ScheduleJob(job, trigger); //////////////////////////////////////////////////////////////////////////// // 알람 관련 타이머 // 현재시간 var today = DateTime.Now.Date; IScheduler alarm_scheduler = StdSchedulerFactory.GetDefaultScheduler(); alarm_scheduler.Start(); IJobDetail alarm_job = JobBuilder.Create().Build(); ITrigger alarm_trigger = TriggerBuilder.Create() .WithDailyTimeIntervalSchedule(s => s.WithIntervalInMinutes(1) .OnEveryDay() .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(today.Hour, today.Minute)) ).Build(); alarm_scheduler.ScheduleJob(alarm_job, alarm_trigger); //////////////////////////////////////////////////////////////////////////// // 회귀분석 관련 타이머 IScheduler regression_scheduler = StdSchedulerFactory.GetDefaultScheduler(); regression_scheduler.Start(); IJobDetail regression_job = JobBuilder.Create().Build(); ITrigger regression_trigger = TriggerBuilder.Create() .WithDailyTimeIntervalSchedule(s => s.WithIntervalInHours(24) .OnEveryDay() .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(23, 59)) //s.WithIntervalInMinutes(5) //.OnEveryDay() //.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(today.Hour, today.Minute)) ).Build(); regression_scheduler.ScheduleJob(regression_job, regression_trigger); } } }