【翻译】教程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