This is an automated email from the ASF dual-hosted git repository.

arnold pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/fineract.git


The following commit(s) were added to refs/heads/develop by this push:
     new a236d7e91 Fix job mismatched logic
a236d7e91 is described below

commit a236d7e9105b9c34b4ba482d715f2a983ec6f414
Author: Adam Saghy <[email protected]>
AuthorDate: Wed Jul 20 23:43:34 2022 +0200

    Fix job mismatched logic
---
 .../infrastructure/jobs/service/JobRegisterServiceImpl.java         | 4 +++-
 .../resources/db/changelog/tenant/parts/0015_add_business_date.xml  | 6 ++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java
 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java
index f94238a2a..e63495b0f 100644
--- 
a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java
+++ 
b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/jobs/service/JobRegisterServiceImpl.java
@@ -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);
diff --git 
a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0015_add_business_date.xml
 
b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0015_add_business_date.xml
index f6c0d24a7..d8664ba7b 100644
--- 
a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0015_add_business_date.xml
+++ 
b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0015_add_business_date.xml
@@ -79,6 +79,7 @@
         </insert>
     </changeSet>
     <changeSet id="4" author="fineract">
+        <validCheckSum>8:f7e5e697680e1e81eca6566f2481b879</validCheckSum>
         <insert tableName="job">
             <column name="name" value="Increase Business Date by 1 day"/>
             <column name="display_name" value="Increase Business Date by 1 
day"/>
@@ -95,10 +96,11 @@
             <column name="scheduler_group" valueNumeric="0"/>
             <column name="is_misfired" valueBoolean="false"/>
             <column name="node_id" valueNumeric="1"/>
-            <column name="is_mismatched_job" valueBoolean="true"/>
+            <column name="is_mismatched_job" valueBoolean="false"/>
         </insert>
     </changeSet>
     <changeSet id="5" author="fineract">
+        <validCheckSum>8:cb7f67c27941deda1e83d317bd78dabd</validCheckSum>
         <insert tableName="job">
             <column name="name" value="Increase COB Date by 1 day"/>
             <column name="display_name" value="Increase COB Date by 1 day"/>
@@ -115,7 +117,7 @@
             <column name="scheduler_group" valueNumeric="0"/>
             <column name="is_misfired" valueBoolean="false"/>
             <column name="node_id" valueNumeric="1"/>
-            <column name="is_mismatched_job" valueBoolean="true"/>
+            <column name="is_mismatched_job" valueBoolean="false"/>
         </insert>
     </changeSet>
 </databaseChangeLog>

Reply via email to