Quartz .Net(定时框架):

  • Quartz .Net(定时框架):

基本说明:

  • 说明:Quartz .Net 是一个从 Java 版的 Quartz 移植过来定时任务框架,可以实现异常灵活的定
    时任务

用法:

  • 安装 Quartz .net ,版本变化太大,前后不兼容说以这里主要介绍的是2.5.0这个版本

  • NuGet的安装指令:

    • Install-Package Quartz -Version 2.5.0
  • 程序代码:

    • 调用代码:
    IScheduler sched = new StdSchedulerFactory().GetScheduler();
    JobDetailImpl jdBossReport = new JobDetailImpl("jdTest", typeof(TestJob));
    IMutableTrigger  triggerBossReport  =  CronScheduleBuilder.DailyAtHourAndMinute(23,
    45).Build();    // 每天 23:45  执行一次
    triggerBossReport.Key = new TriggerKey("triggerTest");
    sched.ScheduleJob(jdBossReport,triggerBossReport);
    sched.Start();
    
    • 执行代码
      定义一个实现了 IJob 接口的类 TestJob ,把要定时执行的代码写到 Execute
  • 其他固定时间执行模式

    • 每月固定时间:
      • CronScheduleBuilder.AtHourAndMinuteOnGivenDaysOfWeek(13, 55,DayOfWeek.Friday, DayOfWeek.Sunday) //每周五、周日的 13:55 执行;
    • 每周固定时间:
      • CronScheduleBuilder.WeeklyOnDayAndHourAndMinute()
    • 每月固定时间:
      • CronScheduleBuilder.MonthlyOnDayAndHourAndMinute()
    • 使用 Crond 表达式设定:
      • CronScheduleBuilder.CronSchedule("0 0 10,14,16 * * ?")
  • 定时模式:

    • CalendarIntervalScheduleBuilder builder = CalendarIntervalScheduleBuilder.Create();
      builder.WithInterval(3, IntervalUnit.Second);//每 3 秒钟执行一次

Crond 表达式参考文章:cron表达式详解

原文地址:https://www.cnblogs.com/fengxuehuanlin/p/6927311.html