2011-02-11 2 views
1

Quartzで一種の開始 - 一時停止 - 再開 - 一時停止 - 再開 - (定期的に)種類のジョブを書いています。初期の実験にSimpleTriggerを使用しています。Quartzでジョブがどのくらい実行されているかを調べる

私はジョブが実行されている時間をどのように見つけることができますか?私はSchedulerクラスを見て、それを直接見つける方法はありませんでした。

ジョブが実行されている時間の長さを知る方法がありますか?

おかげで、 アビ

答えて

0

コールscheduler.getCurrentlyExecutingJobs()(それぞれのJobExecutionContextを取得するには、正確以上)ジョブのセットは、現在実行中の取得します。

次に、JobExecutionContextでgetFireTime()を呼び出して、実行が開始された時刻を確認できます。

+0

ジョブが10分間隔で実行されており、09:00に開始されていると仮定します.9:35周りにgetFireTime()をフェッチしている間に、何が返されますか? 09:00または09:30ですか? – Abhishek

+0

9:30 SimpleTriggerの場合、startTimeは9:00になりますが、そのトリックは他のトリガータイプでは必ずしも機能しません。 – jhouse

+0

明確にするために、SimpleTriggerがstartTimeで最初に起動するため、他のトリガータイプでは必ずしも機能しませんが、CronTriggerは10秒ごとに起動するように設定できます毎日9時の分の分、たとえば"0 0/10 9 * *?"あなたのアプリが意図的にCronTriggerのstartTimeを最初の発射時間に設定しない限り、起動時間は発射を開始する前または開始する前に事実上何かに設定することができます。 – jhouse

関連する問題