目标:实现一个每隔一分钟报时的Demo
首先引用Quatz.NET的dll文件,包括Common.Logging.dll、Common.Logging.Core.dll、Quartz.dll三个文件。
也可通过NuGet命令:Install-Package Quartz
以上处理完毕后,新建一个ShowTime类,继承自IJob
1 public class ShowTime : IJob 2 { 3 public void Execute(IJobExecutionContext context) 4 { 5 Console.WriteLine(DateTime.Now); 6 } 7 }
再新建一个ShowTimeSchedule类
1 public class ShowTimeSchedule 2 { 3 public static void Publish() 4 { 5 //01.创建调度工厂 6 ISchedulerFactory schedulerFactory = new StdSchedulerFactory(); 7 8 //01.创建调度者 9 IScheduler scheduler = schedulerFactory.GetScheduler(); 10 11 //03.创建任务建造者 12 JobBuilder jobBuilder = JobBuilder.Create<ShowTime>(); 13 14 //04.创建任务 15 IJobDetail job = jobBuilder.Build(); 16 17 //05.创建触发器建造者 18 TriggerBuilder triggerBuilder = TriggerBuilder.Create(); 19 triggerBuilder.WithCronSchedule("0 * 10 * * ?"); //此中字符串为Quartz专用cron表达式 20 21 //06.创建触发器 22 ITrigger trigger = triggerBuilder.Build(); 23 24 //07.为调度者添加任务与触发器 25 scheduler.ScheduleJob(job, trigger); 26 27 //08.开始调度 28 scheduler.Start(); 29 } 30 }
Main方法中如下
1 class Program 2 { 3 static void Main(string[] args) 4 { 5 //发布任务 6 ShowTimeSchedule.Publish(); 7 } 8 }
运行后效果
关于cron表达式的详细配置可参考懒惰的肥兔的博客园
http://www.cnblogs.com/lzrabbit/archive/2012/04/14/2371420.html