Răsfoiți Sursa

线上数据丢失,及重启加载数据过多相关bug修复

lideyin 5 ani în urmă
părinte
comite
a8de193c26

+ 15 - 0
examcloud-core-oe-task-service/src/main/java/cn/com/qmth/examcloud/core/oe/task/service/pipeline/SyncExamDataExecutor.java

@@ -439,6 +439,15 @@ public class SyncExamDataExecutor implements NodeExecuter<Long, ExamRecordData,
 
         examRecordData.setSyncStatus(SyncStatus.SYNCED);
         examRecordDataService.saveExamRecordDataCache(examRecordDataId, examRecordData);
+
+        try {
+            //同步更新数据库表中的同步状态
+            UpdatePartialExamRecordReq uperReq = new UpdatePartialExamRecordReq(examRecordDataId);
+            uperReq.setSyncStatus(SyncStatus.SYNCED.name());
+            examRecordDataCloudService.updatePartialExamRecord(uperReq);
+        } catch (Exception e) {
+            this.errorLog("更新数据库表中的同步状态失败",examRecordDataId,e);
+        }
     }
 
     private void debugLog(String msg, Long examRecordDataId) {
@@ -446,4 +455,10 @@ public class SyncExamDataExecutor implements NodeExecuter<Long, ExamRecordData,
             LOG.debug("[SYNC-EXAM-DATA-EXECUTOR-" + examRecordDataId + "]:" + msg);
         }
     }
+
+    private void errorLog(String msg, Long examRecordDataId,Exception e) {
+        if (LOG.isErrorEnabled()) {
+            LOG.error("[SYNC-EXAM-DATA-EXECUTOR-" + examRecordDataId + "]:" + msg,e);
+        }
+    }
 }