目標:實現一個每隔一分鐘報時的Demohtml
首先引用Quatz.NET的dll文件,包括Common.Logging.dll、Common.Logging.Core.dll、Quartz.dll三個文件。ui
也可經過NuGet命令:Install-Package Quartzspa
以上處理完畢後,新建一個ShowTime類,繼承自IJobcode
1 public class ShowTime : IJob 2 { 3 public void Execute(IJobExecutionContext context) 4 { 5 Console.WriteLine(DateTime.Now); 6 } 7 }
再新建一個ShowTimeSchedule類htm
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方法中以下blog
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.htmlget