Quarzt.NET 任務調度框架

fmms 12年前發布 | 47K 次閱讀 Quarzt 作業調度框架

     Quartz是OpenSymphony開源組織在Job scheduling領域又一個開源項目,它可以與J2EE與J2SE應用程序相結合也可以單獨使用。Quartz可以用來創建簡單或為運行十個,百個,甚至是好幾萬個Jobs這樣復雜的日程序表。Jobs可以做成標準的Java組件或 EJBs。Quartz的最新版本為Quartz 2.10。

     Quartz是一個完全由java編寫的開源作業調度框架。不要讓作業調度這個術語嚇著你。盡管Quartz框架整合了許多額外功能, 但就其簡易形式看,你會發現它易用得簡直讓人受不了!。簡單地創建一個實現org.quartz.Job接口的java類。Job接口包含唯一的方法:

  public void execute(JobExecutionContext context)

  throws JobExecutionException;

  在你的Job接口實現類里面,添加一些邏輯到execute()方法。一旦你配置好Job實現類并設定好調度時間表,Quartz將密切注意剩余時間。當調度程序確定該是通知你的作業的時候,Quartz框架將調用你Job實現類(作業類)上的execute()方法并允許做它該做的事情。無需報告任何東西給調度器或調用任何特定的東西。僅僅執行任務和結束任務即可。如果配置你的作業在隨后再次被調用,Quartz框架將在恰當的時間再次調用它。

     Quartz.NET是一個開源的作業調度框架,是 OpenSymphony 的 Quartz API 的.NET移植,它用C#寫成,可用于winform和asp.net應用中。它提供了巨大的靈活性而不犧牲簡單性。你能夠用它來為執行一個作業而創建簡單的或復雜的調度。它有很多特征,如:數據庫支持,集群,插件,支持cron-like表達式等等。

 

1.引用Quartz.dll 任務調度框架

2.引用C5.dll 泛型集合類

3.引用Common.Logging.dll 通用日志接口

4.新建一個SampleJob繼承Quartz.IJob接口,IJob是每項任務的接口 他需要實現Execute方法,將你的任務需要執行的代碼放入這里

public class SampleJob:Quartz.IJob
    {
        #region IJob 成員

        public void Execute(Quartz.IJobExecutionContext context)
        {
            File.AppendAllText("C:\\Quartz.txt", "SampleJob Is Run"); //寫入文本SampleJob Is Run
            File.AppendAllText("C:\\Quartz.txt", Environment.NewLine); //寫入換行符
        }

        #endregion
    }
6.調度任務在某一時刻執行
ISchedulerFactory factory = new StdSchedulerFactory(); //新建一個調度器工廠
            IScheduler scheduler = factory.GetScheduler();//工廠生成一個調度器
            scheduler.Start();//啟動調度器
            IJobDetail job = JobBuilder.Create<SampleJob>().WithIdentity("SampleJob", "JobGroup1").Build();//新建一個任務
            ITrigger trigger = TriggerBuilder.Create().StartAt(new DateTimeOffset(new DateTime(2012,2,10,17,40,00))).Build();//創建觸發器
            scheduler.ScheduleJob(job, trigger);//將任務與觸發器關聯起來放到調度器中

7.Quarz.NET 官方主頁

項目主頁:http://www.baiduhome.net/lib/view/home/1329891543593

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!