FINERACT-1689: Fix job mismatched logic

This commit is contained in:
Adam Saghy
2023-01-27 09:52:41 +01:00
parent 1808e921ba
commit 2cdf33881d
2 changed files with 2 additions and 3 deletions
@@ -163,7 +163,7 @@ public class JobRegisterServiceImpl implements JobRegisterService, ApplicationLi
final List<ScheduledJobDetail> scheduledJobDetails = this.schedularWritePlatformService
.retrieveAllJobs(fineractProperties.getNodeId());
for (final ScheduledJobDetail jobDetail : scheduledJobDetails) {
if (jobDetail.isTriggerMisfired() || jobDetail.isMismatchedJob()) {
if (jobDetail.isTriggerMisfired()) {
if (jobDetail.isActiveSchedular()) {
executeJob(jobDetail, SchedulerServiceConstants.TRIGGER_TYPE_CRON, Collections.emptySet());
jobDetail.setMismatchedJob(false);
@@ -216,8 +216,6 @@ public class JobRegisterServiceImpl implements JobRegisterService, ApplicationLi
if (nodeIdStored.equals(fineractProperties.getNodeId()) || nodeIdStored.equals("0")) {
executeJob(scheduledJobDetail, null, jobParameterDTOSet);
scheduledJobDetail.setMismatchedJob(false);
this.schedularWritePlatformService.saveOrUpdate(scheduledJobDetail);
} else {
scheduledJobDetail.setMismatchedJob(true);
this.schedularWritePlatformService.saveOrUpdate(scheduledJobDetail);
@@ -148,6 +148,7 @@ public class SchedularWritePlatformServiceJpaRepositoryImpl implements Schedular
isStopExecution = true;
} else if (!isStopExecution) {
scheduledJobDetail.setCurrentlyRunning(true);
scheduledJobDetail.setMismatchedJob(false);
}
this.scheduledJobDetailsRepository.save(scheduledJobDetail);
return isStopExecution;