基本說(shuō)明:
- 說(shuō)明:Quartz .Net 是一個(gè)從 Java 版的 Quartz 移植過(guò)來(lái)定時(shí)任務(wù)框架姨夹,可以實(shí)現(xiàn)異常靈活的定
時(shí)任務(wù)
用法:
安裝 Quartz .net ,版本變化太大峡碉,前后不兼容說(shuō)以這里主要介紹的是2.5.0這個(gè)版本
-
NuGet的安裝指令:
- Install-Package Quartz -Version 2.5.0
-
程序代碼:
- 調(diào)用代碼:
IScheduler sched = new StdSchedulerFactory().GetScheduler(); JobDetailImpl jdBossReport = new JobDetailImpl("jdTest", typeof(TestJob)); IMutableTrigger triggerBossReport = CronScheduleBuilder.DailyAtHourAndMinute(23, 45).Build(); // 每天 23:45 執(zhí)行一次 triggerBossReport.Key = new TriggerKey("triggerTest"); sched.ScheduleJob(jdBossReport,triggerBossReport); sched.Start();
- 執(zhí)行代碼
定義一個(gè)實(shí)現(xiàn)了 IJob 接口的類(lèi) TestJob 尿招,把要定時(shí)執(zhí)行的代碼寫(xiě)到 Execute
-
其他固定時(shí)間執(zhí)行模式
- 每月固定時(shí)間:
- CronScheduleBuilder.AtHourAndMinuteOnGivenDaysOfWeek(13, 55,DayOfWeek.Friday, DayOfWeek.Sunday) //每周五靶衍、周日的 13:55 執(zhí)行沦辙;
- 每周固定時(shí)間:
- CronScheduleBuilder.WeeklyOnDayAndHourAndMinute()
- 每月固定時(shí)間:
- CronScheduleBuilder.MonthlyOnDayAndHourAndMinute()
- 使用 Crond 表達(dá)式設(shè)定:
- CronScheduleBuilder.CronSchedule("0 0 10,14,16 * * ?")
- 每月固定時(shí)間:
-
定時(shí)模式:
- CalendarIntervalScheduleBuilder builder = CalendarIntervalScheduleBuilder.Create();
builder.WithInterval(3, IntervalUnit.Second);//每 3 秒鐘執(zhí)行一次
- CalendarIntervalScheduleBuilder builder = CalendarIntervalScheduleBuilder.Create();