Răsfoiți Sursa

feat: 添加数据异常告警,不删除下载文件

weijianghai 2 ani în urmă
părinte
comite
9be8ce8f81

+ 14 - 6
src/main/java/com/nokia/pm_interface_5g/task/FiveGPmTask.java

@@ -5,7 +5,6 @@ import com.jcraft.jsch.SftpException;
 import com.nokia.common.gpload.GploadUtil;
 import com.nokia.common.gpload.entity.GploadResult;
 import com.nokia.common.ssh.SSHUtil;
-import com.nokia.common.ssh.exception.SSHUtilException;
 import com.xxl.job.core.context.XxlJobHelper;
 import com.xxl.job.core.handler.annotation.XxlJob;
 import lombok.Data;
@@ -28,6 +27,7 @@ import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.rmi.RemoteException;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.HashMap;
@@ -57,6 +57,11 @@ public class FiveGPmTask {
     private String filePrefix;
     @Value("${fiveg.pm.distinct.targetDir:distinct/}")
     private String distinctTargetDir;
+    /**
+     * 最小插入数据
+     */
+    @Value("${fiveg.pm.minInsertCount:10000}")
+    private long minInsertCount;
     private final DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHH");
     private SSHUtil sshUtil;
 
@@ -125,7 +130,7 @@ public class FiveGPmTask {
      *
      * @param filename 文件名
      */
-    public void singleTask(String filename) throws JSchException, SSHUtilException, IOException, SftpException {
+    public void singleTask(String filename) throws JSchException, IOException, SftpException {
         download(filename);
         distinct(filename);
         gpload(filename);
@@ -136,7 +141,7 @@ public class FiveGPmTask {
      *
      * @param filename 文件名
      */
-    public void download(String filename) throws JSchException, SSHUtilException, IOException, SftpException {
+    public void download(String filename) throws JSchException, IOException, SftpException {
         log.info("下载文件: {}", filename);
         XxlJobHelper.log("下载文件: {}", filename);
         String src = sourceDir + filename;
@@ -176,9 +181,9 @@ public class FiveGPmTask {
         log.info("文件 {} 去重完成...", filename);
         XxlJobHelper.log("文件 {} 去重完成...", filename);
         // 删除本地源文件
-        Files.deleteIfExists(inputPath);
-        log.info("删除本地源文件 {}...", filename);
-        XxlJobHelper.log("删除本地源文件 {}...", filename);
+//        Files.deleteIfExists(inputPath);
+//        log.info("删除本地源文件 {}...", filename);
+//        XxlJobHelper.log("删除本地源文件 {}...", filename);
     }
 
     public void gpload(String filename) throws IOException {
@@ -187,6 +192,9 @@ public class FiveGPmTask {
         if (Boolean.TRUE.equals(gpload.getTaskStatus())) {
             log.info("gpload完成: {}", gpload);
             XxlJobHelper.log("gpload完成: {}", gpload);
+            if (gpload.getInsertedCount() < minInsertCount) {
+                throw new RemoteException(filename + " 数据异常,少于 " + minInsertCount);
+            }
             // 删除重排文件
             Files.deleteIfExists(Paths.get(distinctTargetDir + filename));
         } else {

+ 1 - 0
src/main/resources/application.properties

@@ -17,3 +17,4 @@ xxl.job.executor.port=9999
 xxl.job.executor.logpath=/data1/pm_5g/pm5Glog/
 ### xxl-job executor log-retention-days
 xxl.job.executor.logretentiondays=30
+fiveg.pm.minInsertCount=10000