-
IScheduler—与scheduler交互的主要的接口
-
IJob—这个接口主要定义scheduler执行内容
-
IJobDetail—用于定义Jobs实例
-
ITrigger—定义scheduler怎么去执行Job
-
JobBuilder –用于定义构建JobDetail实力,哪个定义为Jobs的实例
-
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)在上一节中已经看见这么使用它的例子,让我们再看一次。
View Code1 // 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)