【翻译】教程1:使用 Quartz

在你使用调度器(Scheduler)之前,它需要被实例化(谁想的到呢?)为此,你需要使用一个名为 " ISchedulerFactory " 的接口。

一旦一个调度器被实例化,它就可以被启动、被设置于待机模式或者被关闭。请注意,要是一个调度器被关闭了,他将不能被重启,除非被重新实例化。在调度器被启动之前或者处于暂停状态的时候,触发器(Triggers)将不会处理(作业 Jobs 不会被执行)。

下面是一段简单的代码片段,它实例化并且启动一个调度程序,并且调度一个作业来执行:

使用 Quartz.NET

// 构造一个调度工厂
NameValueCollection props = new NameValueCollection
{
{ "quartz.serializer.type", "binary" }
};
StdSchedulerFactory factory = new StdSchedulerFactory(props);

// 获得一个调度器
IScheduler sched = await factory.GetScheduler();
await sched.Start();

// 定义一个作业并绑定 HelloJob 类
IJobDetail job = JobBuilder.Create<HelloJob>()
    .WithIdentity("myJob", "group1")
    .Build();

// 现在,触发工作运行,并且每隔40秒执行一次
ITrigger trigger = TriggerBuilder.Create()
    .WithIdentity("myTrigger", "group1")
    .StartNow()
    .WithSimpleSchedule(x => x
        .WithIntervalInSeconds(40)
        .RepeatForever())
.Build();

await sched.ScheduleJob(job, trigger);

正如你看到的,使用 Quartz.NET 是如此的简单。在教程2中我们将要简要地介绍作业(Jobs)和触发器(Triggers),以便您能够更全面地理解这个实例。

跳转到教程2

返回目录

posted @ 2019-11-29 21:16  白い  阅读(489)  评论(0编辑  收藏  举报