Quartz.NET 是一套很好的任務調度框架。在設置定時時間的時候,使用了cron表達式很方便框架
簡單代碼async
public async Task beginStart() { //從工廠中獲取一個調度器實例化 IScheduler scheduler = await StdSchedulerFactory.GetDefaultScheduler(); await scheduler.Start(); //開啓調度器 //==========例子1(簡單使用)=========== var type = Type.GetType("ConsoleTopshelf.HelloJob"); IJobDetail job1 = JobBuilder.Create(type) //建立一個做業 .WithIdentity("做業名稱", "做業組") .Build(); ITrigger trigger = TriggerBuilder.Create() .WithIdentity("觸發器名稱", "觸發器組") .StartNow() .WithCronSchedule("/1 * * * * ? ") //corn 表達式 每秒執行一次 .Build(); await scheduler.ScheduleJob(job1, trigger); //把做業,觸發器加入調度器。 }
using Quartz; using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; namespace ConsoleTopshelf { /// <summary> /// 做業 /// </summary> public class HelloJob : IJob { public async Task Execute(IJobExecutionContext context) { Console.WriteLine("HelloJob" + System.DateTime.Now); } } }
corn表達式在線生成 http://cron.qqe2.com/ui