1. IScheduler—与scheduler交互的主要的接口
  2. IJob—这个接口主要定义scheduler执行内容
  3.  IJobDetail—用于定义Jobs实例
  4. ITrigger—定义scheduler怎么去执行Job
  5. JobBuilder –用于定义构建JobDetail实力,哪个定义为Jobs的实例
  6. TriggerBuilder—用于定义和构建Trigger 实例

为了更好的可读性,以下术语交替使用: IScheduler and Scheduler, IJob and Job, IJobDetail and JobDetail, ITrigger and Trigger.

 

Scheduler的生命周期是从它创建开始通过SchedulerFactory 到调用 Shutdown()后结束。一旦Scheduler被创建,就可以调用add和remove方法来添加和移除Jobs和Triggers以及其它调度相关的操作(例如暂停trigger)。如果没有调用 Start()方法,Scheduler并不会在任何triggers 下执行任何jobs。

 

Quartz定义一种自己的特定语言格式(称为DSL或者是fluent interface)在上一节中已经看见这么使用它的例子,让我们再看一次。

 1 // define the job and tie it to our HelloJob class
 2     IJobDetail job = JobBuilder.Create<HelloJob>()
 3         .WithIdentity("myJob", "group1") // name "myJob", group "group1"
 4         .Build();
 5         
 6     // Trigger the job to run now, and then every 40 seconds
 7     ITrigger trigger = TriggerBuilder.Create()
 8         .WithIdentity("myTrigger", "group1")
 9         .StartNow()
10         .WithSimpleSchedule(x => x
11             .WithIntervalInSeconds(40)
12             .RepeatForever())            
13         .Build();
14         
15     // Tell quartz to schedule the job using our trigger
16     sched.scheduleJob(job, trigger)
View Code

相关文章: