fe08a878ddd33f1295c11eea61d1d3bfdf1f179d.svn-base 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. using Quartz;
  2. using Quartz.Impl;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Web;
  7. namespace iBemsDataService.Controllers.Fms.WorkManagement.ScheduledTask
  8. {
  9. public class FmsWorkManagementJobScheduler
  10. {
  11. public static void Start()
  12. {
  13. IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
  14. scheduler.Start();
  15. IJobDetail job = JobBuilder.Create<WorkExecutionPlanJob>().Build();
  16. ITrigger trigger = TriggerBuilder.Create()
  17. .WithDailyTimeIntervalSchedule(s =>
  18. s.WithIntervalInHours(24)
  19. .OnEveryDay()
  20. .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(0, 0))
  21. ).Build();
  22. scheduler.ScheduleJob(job, trigger);
  23. ////////////////////////////////////////////////////////////////////////////
  24. // 알람 관련 타이머
  25. // 현재시간
  26. var today = DateTime.Now.Date;
  27. IScheduler alarm_scheduler = StdSchedulerFactory.GetDefaultScheduler();
  28. alarm_scheduler.Start();
  29. IJobDetail alarm_job = JobBuilder.Create<AlarmPlanJob>().Build();
  30. ITrigger alarm_trigger = TriggerBuilder.Create()
  31. .WithDailyTimeIntervalSchedule(s =>
  32. s.WithIntervalInMinutes(1)
  33. .OnEveryDay()
  34. .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(today.Hour, today.Minute))
  35. ).Build();
  36. alarm_scheduler.ScheduleJob(alarm_job, alarm_trigger);
  37. ////////////////////////////////////////////////////////////////////////////
  38. // 회귀분석 관련 타이머
  39. IScheduler regression_scheduler = StdSchedulerFactory.GetDefaultScheduler();
  40. regression_scheduler.Start();
  41. IJobDetail regression_job = JobBuilder.Create<RegressionPlanJob>().Build();
  42. ITrigger regression_trigger = TriggerBuilder.Create()
  43. .WithDailyTimeIntervalSchedule(s =>
  44. s.WithIntervalInHours(24)
  45. .OnEveryDay()
  46. .StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(23, 59))
  47. //s.WithIntervalInMinutes(5)
  48. //.OnEveryDay()
  49. //.StartingDailyAt(TimeOfDay.HourAndMinuteOfDay(today.Hour, today.Minute))
  50. ).Build();
  51. regression_scheduler.ScheduleJob(regression_job, regression_trigger);
  52. }
  53. }
  54. }