7

クラスター環境にデプロイされたアプリケーションの一部として、Spring を備えた Quartz スケジューラーを使用しています。問題は、ジョブが 1 時間に 1 回実行されるようにスケジュールされている (ジョブが正しくトリガーされる) にもかかわらず、Quartz が大量のクエリ (1 分あたり数百) を起動し続けることです。これらの Quartz クエリを回避/遅らせる方法はありますか?

編集: Quartz によって起動されたいくつかのクエリを追加する

UPDATE QRTZ_TRIGGERS SET TRIGGER_STATE = 'ACQUIRED' WHERE SCHED_NAME = 'SW_QUARTZ_SCHEDULER' AND TRIGGER_NAME = 'createCronTriggerFactoryBeanForPSDJob' AND TRIGGER_GROUP = 'SPRING3-QUARTZ' AND TRIGGER_STATE = 'WAITING'

INSERT INTO QRTZ_FIRED_TRIGGERS (SCHED_NAME, ENTRY_ID, TRIGGER_NAME, TRIGGER_GROUP, INSTANCE_NAME, FIRED_TIME, STATE, JOB_NAME, JOB_GROUP, IS_NONCONCURRENT, REQUESTS_RECOVERY, PRIORITY) VALUES('SW_QUARTZ_SCHEDULER', 'sw-jayz-5413692078375651369207837517', 'createCronTriggerFactoryBeanForPSDJob', 'SPRING3-QUARTZ', 'sw-jayz-541369207837565', 1369207800000, 'ACQUIRED', NULL, NULL, 0, 0, 0)

SELECT * FROM QRTZ_JOB_DETAILS WHERE SCHED_NAME = 'SW_QUARTZ_SCHEDULER' AND JOB_NAME = 'createJobDetailFactoryBeanForPSDJob' AND JOB_GROUP = 'SPRING3-QUARTZ
DELETE FROM QRTZ_SIMPLE_TRIGGERS WHERE SCHED_NAME = 'SW_QUARTZ_SCHEDULER' AND TRIGGER_NAME = 'createCronTriggerFactoryBeanForQMRJob' AND TRIGGER_GROUP = 'SPRING3-QUARTZ'
4

1 に答える 1

4

を探していると思います。org.quartz.scheduler.idleWaitTimeデフォルトでは、30 秒ごとにデータベースにアクセスして、スケジュールに他に何もすることがないときに新しいクエリを探します。(ドキュメントへのリンク)

于 2013-05-31T03:47:25.690 に答える