Quartz.NET译文 - 使用Quartz.NET

在你能使用调度器前,它需要被实例化(谁会猜到呢?)。做这个,你需要一个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相当简单。在第二课我们将给出一个关于工作和触发器的快速的概述,以至于你能更全面的明白这个例子。

Quartz.NET译文 - 使用Quartz.NET

上一篇:Apache codec的摘要


下一篇:kubernetes存储类与PV与PVC关系及实践