Fix job mismatched logic

This commit is contained in:
Adam Saghy
2022-07-21 18:21:32 +02:00
committed by Arnold Gálovics
parent 2290886e8d
commit a236d7e910
2 changed files with 7 additions and 3 deletions
@@ -188,7 +188,7 @@ public class JobRegisterServiceImpl implements JobRegisterService, ApplicationLi
final List<ScheduledJobDetail> scheduledJobDetails = this.schedularWritePlatformService
.retrieveAllJobs(fineractProperties.getNodeId());
for (final ScheduledJobDetail jobDetail : scheduledJobDetails) {
if (jobDetail.isTriggerMisfired()) {
if (jobDetail.isTriggerMisfired() || jobDetail.getIsMismatchedJob()) {
if (jobDetail.isActiveSchedular()) {
executeJob(jobDetail, SchedulerServiceConstants.TRIGGER_TYPE_CRON);
jobDetail.setIsMismatchedJob(false);
@@ -240,6 +240,8 @@ public class JobRegisterServiceImpl implements JobRegisterService, ApplicationLi
if (nodeIdStored.equals(fineractProperties.getNodeId()) || nodeIdStored.equals("0")) {
executeJob(scheduledJobDetail, null);
scheduledJobDetail.setIsMismatchedJob(false);
this.schedularWritePlatformService.saveOrUpdate(scheduledJobDetail);
} else {
scheduledJobDetail.setIsMismatchedJob(true);
this.schedularWritePlatformService.saveOrUpdate(scheduledJobDetail);