QRTZ_TRIGGERS のようなテーブルがいくつかありますが、SQL を実装するにはどうすればよいですか? たぶん、next_fire_time + misfireThreshold< now() を比較しますか?
質問する
3910 次
2 に答える
1
次のようになります。
SELECT TRIGGER_NAME
FROM QRTZ_TRIGGERS
WHERE NOT (MISFIRE_INSTR = -1)
AND NEXT_FIRE_TIME < 1345050693000
AND TRIGGER_STATE = 'WAITING'
NEXT_FIRE_TIME
基本的に、過去のパラメーターを持つすべての待機中のトリガーを要求します。どこまで?Quartz は、遅すぎるすべてのトリガーorg.quartz.jobStore.misfireThreshold
が不発であると想定します。デフォルトでは、1 分以上前に実行するようにスケジュールされていた場合、Quartz はトリガーを不発として扱います。だから取る:
new Date() - 60 * 1000 * 1000
詳細については、を参照StdJDBCConstants
してください。
于 2012-08-15T17:18:10.187 に答える
0
列「TRIGGER_STATE」は、MISFIRED のものを含む各ジョブの状態を示します。
SELECT *
FROM QRTZ_TRIGGERS
WHERE TRIGGER_STATE = 'MISFIRED'
このクエリを実行することもお勧めします
SELECT TRIGGER_STATE, COUNT(*)
FROM QRTZ_TRIGGERS
GROUP BY TRIGGER_STATE
ORDER BY TRIGGER_STATE
数分間隔で、トリガーメカニズムのより動的な動作を確認します。
于 2014-07-05T12:28:17.877 に答える