diff --git a/src/main/java/com/cm/bigdata/monitor/KpiUpdateMonitor.java b/src/main/java/com/cm/bigdata/monitor/KpiUpdateMonitor.java index 6d997de..5d58b3f 100644 --- a/src/main/java/com/cm/bigdata/monitor/KpiUpdateMonitor.java +++ b/src/main/java/com/cm/bigdata/monitor/KpiUpdateMonitor.java @@ -25,6 +25,10 @@ public class KpiUpdateMonitor { completeTaskCount.getAndAdd(1); } + public int getCompleteCount() { + return completeTaskCount.get(); + } + public double getPercent() { LOG.debug("task: {}, complete: {}", taskCount, completeTaskCount); if (taskCount == 0) { diff --git a/src/main/java/com/cm/bigdata/service/kpi/impl/KpiKhxzServiceImpl.java b/src/main/java/com/cm/bigdata/service/kpi/impl/KpiKhxzServiceImpl.java index e5a6186..4af7925 100644 --- a/src/main/java/com/cm/bigdata/service/kpi/impl/KpiKhxzServiceImpl.java +++ b/src/main/java/com/cm/bigdata/service/kpi/impl/KpiKhxzServiceImpl.java @@ -45,7 +45,7 @@ public class KpiKhxzServiceImpl extends AbstractService implements IKpiKhxzServi private KpiKhxzWgzTask kpiKhxzWgzTask; @Autowired private KpiKhxzZnbmTask kpiKhxzZnbmTask; - private ExecutorService executorService = Executors.newFixedThreadPool(2); + private ExecutorService executorService = Executors.newFixedThreadPool(10); @Override public void update(Integer khYear, Integer khMonth) { @@ -95,13 +95,21 @@ public class KpiKhxzServiceImpl extends AbstractService implements IKpiKhxzServi }); executorService.execute(() -> { - // 网格长,3任务 - kpiKhxzWgzTask.update(khYear, khMonth); + // 职能部门,4任务 + kpiKhxzZnbmTask.update(khYear, khMonth); }); executorService.execute(() -> { - // 职能部门,4任务 - kpiKhxzZnbmTask.update(khYear, khMonth); + while(KpiUpdateMonitor.getInstance().getCompleteCount() < 26) { + try { + Thread.sleep(3000); + LOG.debug("等待其他任务执行完成"); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + // 网格长,3任务 + kpiKhxzWgzTask.update(khYear, khMonth); }); }); }