Sfoglia il codice sorgente

定时任务清除dts同步数据日志

mac 2 anni fa
parent
commit
dfb9cfcc4e

+ 12 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/task/taskJob.java

@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON;
 import com.aliyun.dts.subscribe.clients.record.OperationType;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.kxs.transfer.api.model.KxsDtsErrorLog;
+import com.kxs.transfer.api.model.KxsDtsLog;
 import com.kxs.transfer.api.model.table.DMLData;
 import com.kxs.transfer.api.service.KxsDtsErrorLogService;
 import com.kxs.transfer.api.service.KxsDtsLogService;
@@ -23,6 +24,7 @@ import org.apache.commons.lang.exception.ExceptionUtils;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -123,4 +125,14 @@ public class taskJob {
 
     }
 
+    /**
+     * 由于每天同步数据量太大,必须每天清除一次日志
+     * 删除 DTS 日志
+     */
+    @Scheduled(cron = "0 0 1 * * ?")
+    public void removeDtsLogBeforeDay(){
+        LocalDateTime oneDayAgo = LocalDateTime.now().minusDays(1);
+        kxsDtsLogService.remove(Wrappers.<KxsDtsLog>lambdaQuery().lt(KxsDtsLog::getCreateTime,oneDayAgo));
+    }
+
 }