Quartz Scheduler создает повторяющиеся записи пропусков зажигания в кластерном режиме - PullRequest
0 голосов
/ 09 июля 2020

Я использую Quartz Scheduler как кластер из 3 узлов с MySQL. Ниже представлена ​​моя конфигурация кварца

org.quartz.scheduler.instanceName=ClusteredScheduler  
org.quartz.scheduler.instanceId=AUTO  
org.quartz.threadPool.threadCount=500  
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX  
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate  
org.quartz.jobStore.useProperties=true  
org.quartz.jobStore.acquireTriggersWithinLock=true  
org.quartz.jobStore.misfireThreshold=240000  
org.quartz.jobStore.tablePrefix=QRTZ_  
org.quartz.jobStore.isClustered=true  
org.quartz.plugin.shutdownHook.class=org.quartz.plugins.management.ShutdownHookPlugin  
org.quartz.plugin.shutdownHook.cleanShutdown=TRUE  
org.quartz.jobStore.clusterCheckinInterval=500  
org.quartz.scheduler.batchTriggerAcquisitionMaxCount=500  

Это работает хорошо, задания распределяются по узлам, у нас есть конфигурация MISFIRE_INSTRUCTION_DO_NOTHING, и мы сохраняем пропущенное задание в отдельной таблице БД. Logi c для сохранения пропущенных заданий является частью метода отмены triggerMisfired. Когда задания пропускаются, я вижу, что пропущенные задания дублируются на узлах, что создает повторяющиеся записи в таблице. Это происходит только тогда, когда мы сохраняем пропущенные вакансии. Есть ли какая-либо конфигурация, которая позволит нам обрабатывать пропущенные задания как часть кластера, чтобы, как и в случае с Trigger, распределялись даже пропущенные задания?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...