一、先建立一個控制檯應用程序async
二、應用Quartz的NuGet包ui
三、編寫執行任務代碼spa
1 using System; 2 using System.Threading.Tasks; 3 using Quartz; 4 5 namespace HHF.Quartz 6 { 7 public class TaskDemo : IJob 8 { 9 public Task Execute(IJobExecutionContext context) 10 { 11 return Console.Out.WriteLineAsync($"這是任務Demo,執行時間:{DateTime.Now}"); 12 } 13 } 14 }
四、編寫任務調度代碼3d
1 using System.Threading.Tasks; 2 using Quartz; 3 using Quartz.Impl; 4 5 namespace HHF.Quartz 6 { 7 public class QuartzScheduler 8 { 9 /// <summary> 10 /// 任務調度的使用過程 11 /// </summary> 12 /// <returns></returns> 13 public async static Task Run() 14 { 15 // 建立scheduler的引用 16 ISchedulerFactory schedFact = new StdSchedulerFactory(); 17 IScheduler sched = await schedFact.GetScheduler(); 18 19 // 建立 job 20 IJobDetail job = JobBuilder.Create<TaskDemo>() 21 .WithIdentity("job1") 22 .Build(); 23 24 // 執行時間:5秒 25 int timing = 5; 26 27 // 建立 trigger 觸發器 28 ITrigger trigger = TriggerBuilder.Create() 29 .WithIdentity("trigger1") 30 .WithSimpleSchedule(x => x.WithIntervalInSeconds(timing).RepeatForever()) 31 .Build(); 32 33 // 使用trigger規劃執行任務job 34 await sched.ScheduleJob(job, trigger); 35 36 // 啓動 scheduler 37 await sched.Start(); 38 } 39 } 40 }
五、查看執行效果code