美文网首页
Quartz .Net(定时框架)

Quartz .Net(定时框架)

作者: 枫雪幻林 | 来源:发表于2017-06-01 09:42 被阅读0次

    基本说明:

    • 说明: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表达式详解

    相关文章

      网友评论

          本文标题:Quartz .Net(定时框架)

          本文链接:https://www.haomeiwen.com/subject/nvpsfxtx.html