在使用scheduler之前需要被实例化,可以通过实现ISchedulerFactory来做到这一点(To do this, you use an implementor of ISchedulerFactory.)。
scheduler被实例化后,它就可以被启动,处于等待模式(placed in stand-by mode), 被关闭。一旦scheduler被关闭,它不能再被重新启动,除非重新实例化它。只有scheduler 已经被启动或者不处于暂停状态,触发器才能被触发(任务能被执行)(Triggers do not fire (jobs do not execute) until the scheduler has been started, nor while it is in the paused state.)
下面是一个代码片段,实例化并且启动一个scheduler,同时安排执行一个job。
// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// define the job and tie it to our HelloJob class
IJobDetail job = JobBuilder.Create<HelloJob>()
.WithIdentity("myJob", "group1")
.Build();
// Trigger the job to run now, and then every 40 seconds
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("myTrigger", "group1")
.StartNow()
.WithSimpleSchedule(x => x
.WithIntervalInSeconds(40)
.RepeatForever())
.Build();
sched.ScheduleJob(job, trigger);
原文地址: http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/using-quartz.html