Quartz.NET是一個開源的作業調度框架,是 OpenSymphony 的 Quartz API 的.NET移植,它用C#寫成,可用于winform和asp.net應用中。它提供了巨大的靈活性而不犧牲簡單性。你能夠用它來為執行一個作業而創建簡單的或復雜的調度。它有很多特征,如:數據庫支持,集群,插件,支持cron-like表達式等等。
完成一個Quartz調度需要:調度器(IScheduler)、任務(JobDetail)、觸發器(Trigger)
無需配置文件代碼如下:
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!"); } }}
新聞熱點
疑難解答