2

次の要件を持つWCFサービスでQuartz.Netを使用してタスクスケジューラを実装したい、

  • WCF サービスである必要があります。
  • 複数の場所にある複数のサーバーでホストされています。
  • そのスケジューラーサービスは特定の時間に複数のサーバーで実行されていますが、一度だけ実行してください。
  • 履歴は、あらゆる種類のデータベースを介して維持できます。
  • .exe ファイル、イメージ ファイル、特定のタスク、あらゆる種類のコマンド、SQL クエリなど、あらゆる種類のジョブを実行できます。
  • すべてが同じデータベースを指している複数のサーバーでクォーツスケジューラを使用できるかどうかを調べようとしています。
  • また、これに対する私の主な動機は、フェイルオーバー メカニズムのためですが、負荷を分散するためでもあります。

私はQuartz.Netについて少し知識があり、テストサンプルを作成しました。また、システム上でQuartz.netが実際にどのように実行されるか、Quartz.netユーザーがどのように記憶するかなどの詳細を検索します.

4

1 に答える 1

3

wcf の部分を除いて、上記の問題はすべて Quartz.Net で解決できます。必要なすべてのサーバーにサービスをインストールするだけです。それらをすべてクラスターとして構成し、同じデータベースを指すようにします。これでほとんどのアイテムがカバーされます。

Quartz.Net と直接通信したい場合は、WCF ラッパーを作成できます。これは、すぐに使用できるリモート処理のみをサポートするためです。

ジョブ リスナーを作成して、ジョブ履歴をログに記録できます。

実行可能ファイルの実行は、すぐにサポートされています。他の種類のジョブについては、独自のカスタム ジョブを作成する必要があります。

于 2013-04-06T18:46:15.237 に答える