SchedulerHelper.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System;
  2. using System.Collections.Generic;
  3. using ProjectBase.Data.BaseDAL;
  4. using ProjectBase.Data.Logs;
  5. using Quartz;
  6. using Quartz.Impl;
  7. using SIMDP.Model;
  8. namespace SIMDP.BLL
  9. {
  10. public class SchedulerHelper
  11. {
  12. //string timeSpan = "0 0 12 * * ?"; //每天12点执行
  13. //string timeSpan = "0/10 * * * * ? ";//每十秒执行一次
  14. string timeSpan = "0 0/4 * * * ? ";//每1分执行一次
  15. IScheduler scheduler;
  16. IJobDetail job;
  17. ICronTrigger trigger;
  18. public async void Start()
  19. {
  20. // Quartz.Logging.LogExtensions.IsDebugEnabled(Quartz.Logging.ILog)
  21. // int i = Quartz.Logging.LogLevel
  22. StdSchedulerFactory factory = new StdSchedulerFactory();
  23. scheduler = await factory.GetScheduler();
  24. await scheduler.Start();
  25. job = JobBuilder.Create<GetAS400DataJob>()
  26. .Build();
  27. trigger = (ICronTrigger)TriggerBuilder.Create()
  28. .StartNow()
  29. .WithCronSchedule(timeSpan)
  30. .Build();
  31. await scheduler.ScheduleJob(job, trigger);
  32. }
  33. public void Stop()
  34. {
  35. try
  36. {
  37. scheduler.Shutdown();
  38. }
  39. catch (Exception ex)
  40. {
  41. LogHelper.log.Error(string.Format("关闭定时任务出现错误:{0}", ex.ToString()));
  42. }
  43. }
  44. }
  45. }