私は2つのジョブAとBを持っていると仮定します。それらは両方とも異なる間隔で実行され、重複する可能性があります。たとえば、Aが10秒ごとに実行され、Bが15秒ごとに実行される場合、30秒ごとに実行が一致します。Quartz.NETの条件付きジョブチェイン
実行が一致した場合、ジョブAが常に先に実行されるようにしたいと思います。
これをQuartz.NET(2.x)で設定する良い方法を決定しようとしていますが、洞察があれば分かります。
私は2つのジョブAとBを持っていると仮定します。それらは両方とも異なる間隔で実行され、重複する可能性があります。たとえば、Aが10秒ごとに実行され、Bが15秒ごとに実行される場合、30秒ごとに実行が一致します。Quartz.NETの条件付きジョブチェイン
実行が一致した場合、ジョブAが常に先に実行されるようにしたいと思います。
これをQuartz.NET(2.x)で設定する良い方法を決定しようとしていますが、洞察があれば分かります。
トリガーの優先度を設定すると、同じ発砲時間であれば、最も優先度の高いトリガーが最初に実行されるようになります。
参照:http://www.quartz-scheduler.net/documentation/quartz-2.x/tutorial/more-about-triggers.html
ITriggerListener
を使用して、VetoJobExecutionの方法を実装できます。 詳細情報はhereです。
これで問題は解決しません。 2つのジョブがあり、TaskPoolを1に減らした場合にのみ機能します。多くのジョブがあり、そのうちのいくつかが他よりも重要な場合、優先順位を設定する必要があります。第3の仕事が必要だが、この仕事は他の仕事とは独立していて、仕事が実行されるかどうかに関係なく実行されなければならない場合、あなたは何をしますか? – Rabban
あなたは正しいです。問題の仕事をブロックするためにミューテックスを設定しましたが、ジョブAが最初に確実に起きるようにする必要があります。 – bbush