Quartz.NETの基礎知識の概要
6587 ワード
Quartz.NETって何?
私が今使っているQuartzのためです.NET2.2バージョン、相対2.xの変化は大きくなく、主に1に対してである.xは多くのものを更新して、以下の基礎知識はネットを抜粋します.Quartz.NETはオープンソースのジョブスケジューリングフレームワークであり、OpenSymphonyのQuartz APIである.NET移植は、winformとaspに使用できるC#で書かれています.Netアプリケーションで.シンプルさを犠牲にすることなく、柔軟性を提供します.ジョブを実行するために簡単なスケジュールまたは複雑なスケジュールを作成することができます.データベースサポート、クラスタ、プラグイン、cron-like式のサポートなど、多くの特徴があります.Quartz.NETフレームワークのコアはスケジューラです.スケジューラはQuartzを管理する.NETアプリケーションランタイム環境.Quartzはスレッドやスレッド管理だけではありません.伸縮性を確保するため、Quartz.NETはマルチスレッドベースのアーキテクチャを採用している.起動時に、フレームワークはワークスレッドのセットを初期化し、このスレッドはスケジューラによって所定のジョブを実行するために使用されます.これがQuartzです.NETが複数のジョブを同時に実行できる仕組み.Quartz.NETは、スレッド環境を管理するために、緩やかに結合されたスレッドプール管理コンポーネントのセットに依存します.ジョブはタスクを実行する簡単です.NETクラス.Quartzを実現するだけですここからジョブが実行される唯一のメソッドExecute()を含むIJobインタフェース.IJobインタフェースとExecute()メソッドが実装されると、Quartz.NETがジョブ実行であると判断すると、ジョブが呼び出されます.Execute()メソッド内はやるべきことです.
Quartz.NETには次のような特徴があります
APIは操作が簡単で、数行の簡単なコードさえあれば、アプリケーションの中で自分のジョブのスケジューリングを実現することができ、リアルタイムでジョブの実行状況を監視するトリガ機能が強く、Windowsのタスク計画よりも細かいトリガ粒度を提供し、Cron式を使って毎週月曜日から金曜日の8:00 am、5:00 pm(作業時間)のようにあるタスクを実行するのに良好な拡張性を実現することができ、インタフェースに基づいてプログラミングすることができます.自分のScheduleスケジューラ、Jobジョブ、TriggerトリガなどのジョブをRAMに保存したり、データベースに永続化したりすることができます.SqlServer、Oracle、MySqlなどのクラスタをサポートします.これは高度なアプリケーションで、複数のコンピュータ間で負荷バランス、フォールトトレランス処理を作成できます.
Quartz.NET 2.0と以前のバージョンの改良
2012年4月9日Quartz.NET 2.0はReleased版をリリースしており、Java Quartzの2.1バージョンに対応し、アドレスをダウンロードしているhttp://quartznet.sourceforge.net/download.html .バージョン全体は1.0バージョンに対して大量の修正を行い、ユニットテストのコードはより友好的(より多くのインタフェースを再構築した)であり、APIは汎用和に基づいている.NET 3.5 SP 1以降の特性、例えばDateTimeOffset.これはQuartzです.NET史上最大で、最も興奮に値するバージョンです.
このリリースでは、パフォーマンスの向上に加えて、次のような新しい機能が追加されました.
APIは操作が簡単で、数行の簡単なコードさえあれば、アプリケーションの中で自分のジョブのスケジューリングを実現することができ、リアルタイムでジョブの実行状況を監視するトリガ機能が強く、Windowsのタスク計画よりも細かいトリガ粒度を提供し、Cron式を使って毎週月曜日から金曜日の8:00 am、5:00 pm(作業時間)のようにあるタスクを実行するのに良好な拡張性を実現することができ、インタフェースに基づいてプログラミングすることができます.自分のScheduleスケジューラ、Jobジョブ、TriggerトリガなどのジョブをRAMに保存したり、データベースに永続化したりすることができます.SqlServer、Oracle、MySqlなどのクラスタをサポートします.これは高度なアプリケーションで、複数のコンピュータ間で負荷バランス、フォールトトレランス処理を作成できます.
Quartz.NET 2.0と以前のバージョンの改良
2012年4月9日Quartz.NET 2.0はReleased版をリリースしており、Java Quartzの2.1バージョンに対応し、アドレスをダウンロードしているhttp://quartznet.sourceforge.net/download.html .バージョン全体は1.0バージョンに対して大量の修正を行い、ユニットテストのコードはより友好的(より多くのインタフェースを再構築した)であり、APIは汎用和に基づいている.NET 3.5 SP 1以降の特性、例えばDateTimeOffset.これはQuartzです.NET史上最大で、最も興奮に値するバージョンです.
このリリースでは、パフォーマンスの向上に加えて、次のような新しい機能が追加されました.
2.0 APIでも重大な修正を行い、APIの戻り値の集合と汎用的な使用、曖昧さと冗長コードの除去、クライアントに公開すべきではない方法の隠蔽/削除、注目点の分離を高め、分野の特定言語DSLのコアエンティティ(jobs and triggers)を導入することで、互換性などの問題が自然に発生し、今からどのような重大な修正があるかを見てみましょう.
IJobDetail job = JobBuilder.Create() .WithIdentity("job1", "group1") .Build();
ITrigger trigger = TriggerBuilder.Create() .WithIdentity("trigger1", "group1") .StartAt(DateBuilder.FutureDate(2, IntervalUnit.HOURS)) .WithSimpleSchedule(x => x.RepeatHourlyForever()) .ModifiedByCalendar("holidays") .Build();
変化は1.0より多くC 5を参照した.dll
C5.dll 1つのC#と他のCLI言語の汎用集合クラス..Net2.0以上で使用できます.紹介住所:http://www.itu.dk/research/c5
変化二quartzconfigに微細な変化がある
変化三実現IJobインタフェースJobExecutionContextオブジェクトがIJobExecutionContextになりました
変化四quartz_jobs.xml構成セクションが変更されました
変化五支持Netバージョンが異なる