在你能使用调度器前,它需要被实例化(谁会猜到呢?)。做这个,你需要一个ISchedulerFactory的实现器。
一旦一个调度器被实例化,它就可以被启动,处于待用模式和关闭。请注意,一个调度器一旦被关闭,它在没有被重新实例化前是不能被重启的。触发器不会触发(工作不会执行)直到调度器被启动,而不是它处于暂停状态。
下面是一个简捷的代码片段,演示启动一个调度器,并计划一个要执行的作业:
使用Quartz.NET
// construct a scheduler factory
StdSchedulerFactory factory = new StdSchedulerFactory();
// get a scheduler
IScheduler scheduler = await factory.GetScheduler();
await scheduler.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();
await scheduler.ScheduleJob(job, trigger);
// You could also schedule multiple triggers for the same job with
// await scheduler.ScheduleJob(job, new List<ITrigger>() { trigger1, trigger2 }, replace: true);
正像你看到的,使用Quartz.NET相当简单。在第二课我们将给出一个关于工作和触发器的快速的概述,以至于你能更全面的明白这个例子。
原文:https://www.cnblogs.com/penrodsheh/p/13728916.html