0

私は Quartz.net サービスのクラスターを実行しており、すべて標準の AdoJobStore を読み取ります。私が探している動作はタイトルで説明されています。クラスター内のマシンごとにステートフル ジョブを実行したいと考えています。現在、ステートフル ジョブはクラスター全体に対して一度に 1 つずつ実行されると思います。私は長い間懸命に見てきたので、quartz.net がクラスター機能でマシンごとにこのステートフルなジョブをサポートしているとは思えませんが、quartz.net でこの動作を再現する他の方法はありますか?

それを行う別の方法は、マシンごとにスレッドカウントが指定されている現在の状況とは対照的に、ジョブタイプごとにスレッドカウントを設定することです。これにより、本質的に私が探している動作が得られ、特定のジョブを実行できるようになりますマシンごとに 1 つずつ入力します。

助言がありますか?

4

1 に答える 1

0

ジョブのジョブ開始時間が重要でない場合は、これらを試すことができます

クラスター内のマシン名に基づいてトリガーとジョブに適切なグループ名を使用し (識別用)、トリガーのグループ名が起動しているマシン名に対応しているかどうかを確認できます (トリガー リスナーをアタッチし、VetoJobExecution で対応するチェックを行い、false を返します)。そのマシンでジョブを実行しない場合は true を返します)。

停止したトリガーが同じマシンによって何度も選択されている場合は、それを回避するために、スケジューラーで Standby と StartDelayed を試すことができます。

これは単なる提案であり、私はそれを確認していません。

于 2013-02-07T18:05:59.273 に答える