Ver Fonte

traf schedule change, info api update

shjung há 2 semanas atrás
pai
commit
a8a4210991

+ 10 - 15
.idea/workspace.xml

@@ -6,18 +6,11 @@
   <component name="ChangeListManager">
     <list default="true" id="137ea174-7fc0-49e0-a3b0-3deac854d820" name="Changes" comment="">
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-ptis-server/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/utic-ptis-server/src/main/resources/application.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/config/DatabaseUticConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/config/DatabaseUticConfig.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/dao/mapper/utic/ProcessStateMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/dao/mapper/dwdb/ProcessStateMapper.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/dao/repository/utic/ProcessStateRepository.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/dao/repository/dwdb/ProcessStateRepository.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/service/ProcessStateService.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-stat-server/src/main/java/com/utic/center/utic/stat/server/service/ProcessStateService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-stat-server/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/utic-stat-server/src/main/resources/application.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-stat-server/src/main/resources/mybatis/mapper/utic/ProcessStateMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/utic-stat-server/src/main/resources/mybatis/mapper/dwdb/ProcessStateMapper.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/dao/mapper/dwdb/DwdbTrafficMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/dao/mapper/utic/DwdbTrafficMapper.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/dao/repository/dwdb/DwdbTrafficRepository.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/dao/repository/utic/DwdbTrafficRepository.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/service/LinkTrafSaveDwdbService.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/service/LinkTrafSaveDwdbService.java" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/resources/application.yml" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/resources/application.yml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/resources/mybatis/mapper/dwdb/DwdbTrafficMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/resources/mybatis/mapper/utic/DwdbTrafficMapper.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/controller/UticTrafServerController.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/controller/UticTrafServerController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/controller/UticTrafServerRestController.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/controller/UticTrafServerRestController.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/dto/BatchJobInfoDto.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/dto/BatchJobInfoDto.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/scheduler/ApplicationScheduler.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/scheduler/ApplicationScheduler.java" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/service/LinkTrafSaveUticService.java" beforeDir="false" afterPath="$PROJECT_DIR$/utic-traf-server/src/main/java/com/utic/center/utic/traf/server/service/LinkTrafSaveUticService.java" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -313,7 +306,7 @@
       </map>
     </option>
   </component>
-  <component name="RunManager" selected="Gradle.utic-center:utic-traf-server [bootJar]">
+  <component name="RunManager" selected="Spring Boot.UticTrafServerApplication">
     <configuration name="utic-center:utic-ptis-server [bootJar]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
       <ExternalSystemSettings>
         <option name="executionName" />
@@ -388,7 +381,7 @@
         <option name="executionName" />
         <option name="externalProjectPath" value="$PROJECT_DIR$/utic-traf-server" />
         <option name="externalSystemIdString" value="GRADLE" />
-        <option name="scriptParameters" />
+        <option name="scriptParameters" value="" />
         <option name="taskDescriptions">
           <list />
         </option>
@@ -450,6 +443,7 @@
       </method>
     </configuration>
     <configuration name="UticTrafServerApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
+      <option name="ACTIVE_PROFILES" value="dev" />
       <option name="ALTERNATIVE_JRE_PATH" value="1.8" />
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="true" />
       <module name="utic-center.utic-traf-server.main" />
@@ -682,7 +676,8 @@
       <workItem from="1763689111868" duration="28000" />
       <workItem from="1763702390116" duration="11776000" />
       <workItem from="1763970361667" duration="11109000" />
-      <workItem from="1764120821351" duration="8000000" />
+      <workItem from="1764120821351" duration="9619000" />
+      <workItem from="1764288753051" duration="3409000" />
     </task>
     <servers />
   </component>

+ 5 - 0
utic-traf-server/src/main/java/com/utic/center/utic/traf/server/controller/UticTrafServerController.java

@@ -123,6 +123,11 @@ public class UticTrafServerController {
             this.saveUticService.processing();
             jobInfo.setSaveCenterTime(System.currentTimeMillis() - tmpStart);
             jobInfo.setSaveTrafficTime(System.currentTimeMillis() - start);
+            jobInfo.setTotal(this.saveUticService.getTotal());
+            jobInfo.setLevel1(this.saveUticService.getLink1());
+            jobInfo.setLevel2(this.saveUticService.getLink2());
+            jobInfo.setLevel3(this.saveUticService.getLink3());
+            jobInfo.setLevel4(this.saveUticService.getLink4());
             log.info("##>> 05MIN {}", LogUtils.elapsedLogLength("정주기 교통정보 저장 완료", jobInfo.getSaveTrafficTime(), 5));
             log.info(completed);
 

+ 6 - 4
utic-traf-server/src/main/java/com/utic/center/utic/traf/server/controller/UticTrafServerRestController.java

@@ -20,7 +20,7 @@ public class UticTrafServerRestController {
     @GetMapping(value = "/info", produces = {"application/json; charset=utf8"})
     public String infoString() {
         String sep = System.lineSeparator();
-        String heading = "----------------------------------------------------------------------------------------------------------------------------------------------------------";
+        String heading = "------------------------------------------------------------------------------------------------------------------------------------------------------------------------------";
 
         StringBuilder sb = new StringBuilder();
         sb.append(sep);
@@ -30,7 +30,7 @@ public class UticTrafServerRestController {
         sb.append(String.format("Process: %s(%s), Booting: %s, Now: %s",
                 this.config.getProcessId(), this.config.getProcessName(), this.config.getBootingTime(), TimeUtils.now())).append(sep);
         sb.append(heading).append(sep);
-        sb.append(String.format("%s %-20.20s %-20.20s    TOTAL RCV_TRAF  COLLECT   FUSION  MISSING UTIADMIN  TRAFFIC     DWDB  PREPARE    AFTER",
+        sb.append(String.format("%s %-20.20s %-20.20s    TOTAL RCV_TRAF  COLLECT   FUSION  MISSING UTIADMIN  TRAFFIC     DWDB  PREPARE    AFTER  TRAFFIC",
                 " SEQ", "Start", "End")).append(sep);
         sb.append(heading).append(sep);
         int total = 0;
@@ -40,7 +40,7 @@ public class UticTrafServerRestController {
             BatchJobInfoDto jobInfo = ApplicationRepository.batchJobInfoList.get(ii);
             total++;
 
-            sb.append(String.format("%4d %-20.20s %-20.20s %s %s %s %s %s %s %s %s %s %s",
+            sb.append(String.format("%4d %-20.20s %-20.20s %s %s %s %s %s %s %s %s %s %s %s(%d/%d/%d/%d)",
                     total,
                     jobInfo.getStartTime(), jobInfo.getEndTime(),
                     LogUtils.numberLog(jobInfo.getElapsedTime()),
@@ -52,7 +52,9 @@ public class UticTrafServerRestController {
                     LogUtils.numberLog(jobInfo.getSaveTrafficTime()),
                     LogUtils.numberLog(jobInfo.getSaveDwdbTime()),
                     LogUtils.numberLog(jobInfo.getPrepareTime()),
-                    LogUtils.numberLog(jobInfo.getPrcsAfterTime())
+                    LogUtils.numberLog(jobInfo.getPrcsAfterTime()),
+                    LogUtils.numberLog(jobInfo.getTotal()),
+                    jobInfo.getLevel1(), jobInfo.getLevel2(), jobInfo.getLevel3(), jobInfo.getLevel4()
                     )).append(sep);
         }
         sb.append(heading).append(sep);

+ 10 - 0
utic-traf-server/src/main/java/com/utic/center/utic/traf/server/dto/BatchJobInfoDto.java

@@ -26,6 +26,11 @@ public class BatchJobInfoDto implements Serializable {
     private long saveDwdbTime;   // DWDB 저장 작업 소요 시간 (밀리초 단위)
     private long prepareTime;    // 가공 준비 작업 소요 시간 (밀리초 단위)
     private long prcsAfterTime;  // 가공 후 작업 소요 시간 (밀리초 단위)
+    private int total;
+    private int level1;
+    private int level2;
+    private int level3;
+    private int level4;
 
     public BatchJobInfoDto(String startTime) {
         this.startTime = startTime;
@@ -41,5 +46,10 @@ public class BatchJobInfoDto implements Serializable {
         this.saveDwdbTime = 0;   // DWDB 저장 작업 소요 시간 (밀리초 단위)
         this.prepareTime = 0;    // 가공 준비 작업 소요 시간 (밀리초 단위)
         this.prcsAfterTime = 0; // 가공 후 작업 소요 시간 (밀리초 단위)
+        this.total = 0;
+        this.level1 = 0;
+        this.level2 = 0;
+        this.level3 = 0;
+        this.level4 = 0;
     }
 }

+ 1 - 1
utic-traf-server/src/main/java/com/utic/center/utic/traf/server/scheduler/ApplicationScheduler.java

@@ -31,7 +31,7 @@ public class ApplicationScheduler {
     private String scheduleTime;
 
 
-    @Scheduled(cron = "20 * * * * *")
+    @Scheduled(cron = "5 * * * * *")
     public void scheduleProcess() {
         if (!this.config.isStartSchedule()) {
             return;

+ 21 - 11
utic-traf-server/src/main/java/com/utic/center/utic/traf/server/service/LinkTrafSaveUticService.java

@@ -13,6 +13,7 @@ import com.utic.center.utic.traf.server.dto.LinkDto;
 import com.utic.center.utic.traf.server.dto.LinkTrafCenterDto;
 import com.utic.center.utic.traf.server.repository.ApplicationRepository;
 import com.utic.center.utic.traf.server.service.worker.WorkerUtils;
+import lombok.Getter;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.ibatis.session.ExecutorType;
 import org.apache.ibatis.session.SqlSession;
@@ -27,6 +28,7 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.TimeUnit;
 
 @Slf4j
+@Getter
 @Service
 public class LinkTrafSaveUticService implements AbstractProcessService {
 
@@ -35,6 +37,12 @@ public class LinkTrafSaveUticService implements AbstractProcessService {
     private final UticTrafficRepository uticRepo;
     private final SqlSessionFactory sqlSessionFactory;
 
+    private int total;
+    private int link1;
+    private int link2;
+    private int link3;
+    private int link4;
+
     public LinkTrafSaveUticService(
             TraceConfig trace,
             LinkService linkService,
@@ -68,6 +76,8 @@ public class LinkTrafSaveUticService implements AbstractProcessService {
                 ApplicationRepository.currTrafficCenter,
                 ApplicationRepository.nextTrafficCenter);
 
+        this.total = this.link1 = this.link2 = this.link3 = this.link4 = 0;
+
         long zeroSpeedCount = this.linkService.getLinkMap().values().parallelStream()
                 .filter(link -> link.getLinkLevel() == 1)
                 .filter(link -> link.getTrafFsn().getState().isState())
@@ -197,24 +207,24 @@ public class LinkTrafSaveUticService implements AbstractProcessService {
         }
 
         long elapsedTime = 0;
-        int link1 = 0, link2 = 0, link3 = 0, link4 = 0;
+        this.total = this.link1 = this.link2 = this.link3 = this.link4 = 0;
 
         for (DbmsBatchJobResult result : mapData.values()) {
             elapsedTime = Math.max(elapsedTime, result.getElapsedTime());
-            link1 += result.getLink1();
-            link2 += result.getLink2();
-            link3 += result.getLink3();
-            link4 += result.getLink4();
+            this.link1 += result.getLink1();
+            this.link2 += result.getLink2();
+            this.link3 += result.getLink3();
+            this.link4 += result.getLink4();
         }
 
-        int resultCount = link1 + link2 + link3 + link4;
-        jobResult.setEffects(resultCount);
+        this.total = this.link1 + this.link2 + this.link3 + this.link4;
+        jobResult.setEffects(this.total);
         jobResult.setElapsedTime(System.currentTimeMillis() - start);
 
-        log.info("[INF] {}", LogUtils.elapsedLog("레벨1 " + jobTable, link1, elapsedTime));
-        log.info("[INF] {}", LogUtils.elapsedLog("레벨2 " + jobTable, link2, elapsedTime));
-        log.info("[INF] {}", LogUtils.elapsedLog("레벨3 " + jobTable, link3, elapsedTime));
-        log.info("[INF] {}", LogUtils.elapsedLog("레벨4 " + jobTable, link4, elapsedTime));
+        log.info("[INF] {}", LogUtils.elapsedLog("레벨1 " + jobTable, this.link1, elapsedTime));
+        log.info("[INF] {}", LogUtils.elapsedLog("레벨2 " + jobTable, this.link2, elapsedTime));
+        log.info("[INF] {}", LogUtils.elapsedLog("레벨3 " + jobTable, this.link3, elapsedTime));
+        log.info("[INF] {}", LogUtils.elapsedLog("레벨4 " + jobTable, this.link4, elapsedTime));
         // 모든 작업이 완료된 후 결과를 출력
         ApplicationRepository.processState.setEtcCnt(jobResult.getEffects());
         log.info("[INF] {}, Total", LogUtils.elapsedLog(jobTable, jobResult.getEffects(), System.currentTimeMillis() - start));