4

Quartz.Net は XML ファイルを使用して、実行するジョブとそれらのジョブを実行するためのスケジュールを構成します。私が理解している限り、XML 構成の他の唯一のオプションは、コンパイル時にジョブとスケジュールを構成することです。

多数のスケジュールされたタスク (それぞれ 3 ~ 5 つの環境にデプロイされる 250 のタスク) があり、これらを移行して Quartz.Net を使用することを検討しています。

[1] Quarts.Net でジョブとスケジュールの構成情報を管理するためのベスト プラクティスはありますか?

[2] 構成ファイルを作成するためのツールはありますか?

ジョブの構成例は次のとおりです。

<job>
  <name>addDirectoryScanListener</name>
  <group>directoryScanJobExample</group>
  <description>Sample job for Quartz Server</description>
  <job-type>Examples.DirectoryScanListenerExample, Examples</job-type>
</job>

<trigger>
  <simple>
    <name>addDirectoryScanListenerSimpleTrigger</name>
    <group>directoryScanJobExampleSimpleTriggerGroup</group>
    <description>Simple trigger to simply fire sample job</description>
    <job-name>addDirectoryScanListener</job-name>
    <job-group>directoryScanJobExample</job-group>
    <misfire-instruction>SmartPolicy</misfire-instruction>
    <repeat-count>0</repeat-count>
    <repeat-interval>10000</repeat-interval>
  </simple>
</trigger>
4

1 に答える 1

9

Quartz.NETを構成するための組み込みの方法がいくつかあります。ここに簡単な比較を示します。

  • コードベースの構成
    • スケジューラAPIを使用して、ジョブとトリガーを作成/更新/削除します
    • ハードコーディングによって構成されたスケジュールとジョブは、当然、再コンパイルが必要です。スケジューラAPIでUIなどを使用すると、永続的なジョブストアは別の話になります。
  • XML構成

次に、ジョブストアオプションがあります。スケジューラー/ジョブ/トリガーの構成方法に関係なく、任意のジョブストアを使用できます。

  • RAMJobStore
    • 最速(ただし通常は要因ではありません)でジョブストアのセットアップが最も簡単ですが、サーバーの再起動などによって引き起こされたトリガーの失敗から回復する方法はありません
  • AdoJobStore
    • 再起動間のトリガー、ジョブ、およびそれらの状態を保存し、フェイルオーバーとスケーリングのためにクラスター化されたQuartz.NETを実行できるようにします

利用可能なWebベースの管理UIもいくつかあります。詳細については、quartz.NETのオープンソース管理UIを参照してください。

Quartz.NETチュートリアルは、常に開始するのに適した場所です。

于 2012-11-08T06:09:01.423 に答える