Quartz.NET教程:(01) 使用Quartz

时间:2022-07-11 21:43:07

使用调度器 (scheduler) 之前要先用 ISchedulerFactory 的一个实现来实例化调度器(scheduler)。一旦调度器实例化完成,则它可以被启动、置于备用模式或者关闭。需要注意的是一旦调度器被关闭,只有重新实例化后才能重新启动它。调度器启动前或者触发器处于暂停状态时,触发器都不会被触发(即任务不会执行)。

下列代码片段演示了实例化并启动一个调度器,并且安排了一个任务以便执行:

使用 Quartz.NET

// 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);

如你所见,使用Quartz.NET实际上是一个很简单的事。在第2篇教程中将会对 Jobs (任务) 和 Triggers (触发器) 有一个简要了解,以便让初学者能更全面的了解上面这个例子。