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 秒钟执行一次
- CalendarIntervalScheduleBuilder builder = CalendarIntervalScheduleBuilder.Create();