Quartz.NET是一個開源的做業調度框架,是 OpenSymphony 的 Quartz API 的.NET移植,它用C#寫成,可用於winform和asp.net應用中。它提供了巨大的靈活性而不犧牲簡單性。你可以用它來爲執行一個做業而建立簡單的或複雜的調度。它有不少特徵,如:數據庫支持,集羣,插件,支持cron-like表達式等等。數據庫
完成一個Quartz調度須要:調度器(IScheduler)、任務(JobDetail)、觸發器(Trigger)框架
無需配置文件代碼以下:asp.net
using Quartz.Impl; using System; namespace Quartz { class Program { static void Main(string[] args) { //調度器構造工廠 ISchedulerFactory factory = new StdSchedulerFactory(); //第一步:構造調度器 IScheduler scheduler = factory.GetScheduler(); scheduler.Start();//啓動調度器 //第二步:定義任務 JobDetailImpl job = new JobDetailImpl("MyJob1", typeof(HandleClass)); //第三步:定義觸發器 ITrigger trigger = TriggerBuilder.Create() .WithIdentity("t1")//觸發器名稱 .ForJob(job) .StartNow() .WithSimpleSchedule(x => x.RepeatForever() .WithIntervalInSeconds(1))//1s 執行一次 .Build(); //將任務與觸發器添加到調度器中: scheduler.ScheduleJob(job, trigger); } } /// <summary> /// 工做類 /// </summary> public class HandleClass : IJob { /// <summary> /// 任務調用的方法 /// </summary> public void Execute(IJobExecutionContext context) { Console.WriteLine("hello work!"); } } }
源碼地址: Quartz.zipui