6

現在、(たとえば) 5 秒ごとにコードを実行する単純なアプリケーションに Quartz.net を実装しています。コードが完了するまでに 5 秒以上かかることがあります。

最初は、同じコードがまだ実行されている間にコードが実行されるという問題がありました。IJob インターフェイスの代わりに IStateFulJob インターフェイスを使用することでこれを修正しました。

しかし、私が本当に達成したいのは、前のジョブが開始されてから 5 秒後ではなく、ジョブが完了してから 5 秒後にジョブが実行されることです。

もちろん、リスナーがジョブの準備ができたことを「聞いた」ときにトリガーされるイベントを処理して、ジョブを再スケジュールすることもできますが、これには標準機能がないかどうか疑問に思っていました。

4

1 に答える 1

4

現在、Quartz.NET は事前に定義された (事前に計算された) 起動時間と作業をトリガーする適切な時間のポーリングを行うという考えに基づいているため、これを達成するための標準的な方法はありません。

あなたが説明した方法は、最も簡単な方法です。ジョブから次の実行をスケジュールするか、リスナーからスケジュールします。

于 2009-09-30T05:08:10.580 に答える