简介

  Quartz.NET是一个开源的作业调度框架,你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。Quartz.NET允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。
官方文档

初级应用

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//从工厂中获取一个调度器实例化
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler();
//开启调度器
scheduler.Start();
IJobDetail job1 = JobBuilder.Create<HelloJob>()
.WithIdentity("作业名称", "作业组")
.Build();
ITrigger trigger1 = TriggerBuilder.Create()
.WithIdentity("触发器名称", "触发器组")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(5)
.RepeatForever())
.Build();
// scheduler.ScheduleJob(job1, trigger1);
IJobDetail job2 = JobBuilder.Create<DumbJob>()
.WithIdentity("myJob", "group1")
.UsingJobData("jobSays", "Hello Word!")
.Build();
ITrigger trigger2 = TriggerBuilder.Create()
.WithIdentity("myTrigger", "group1")
.StartNow()
.WithCronSchedule("/5 * * ? * *")
.Build();
scheduler.ScheduleJob(job2, trigger2);

Jobs

trigger

接口

监听

高级用法