diff options
| author | fangshunjian <[email protected]> | 2022-10-10 18:39:12 +0800 |
|---|---|---|
| committer | fangshunjian <[email protected]> | 2022-10-10 18:39:12 +0800 |
| commit | fe9269d4c8a28cb54a9b2672fc1a2677bcc2c361 (patch) | |
| tree | 6171cde52526515c2359626c201dde9f0dbc6b83 | |
| parent | a2939495abd551b225f0a88ad6fdb7ec64eb365b (diff) | |
fix: snapshot timeout 允许返回部分已完成图表数据rel-22.07.13
| -rw-r--r-- | nz-admin/src/main/java/com/nis/modules/panel/service/impl/VisualPanelServiceImpl.java | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/nz-admin/src/main/java/com/nis/modules/panel/service/impl/VisualPanelServiceImpl.java b/nz-admin/src/main/java/com/nis/modules/panel/service/impl/VisualPanelServiceImpl.java index 111191c9..d03c8843 100644 --- a/nz-admin/src/main/java/com/nis/modules/panel/service/impl/VisualPanelServiceImpl.java +++ b/nz-admin/src/main/java/com/nis/modules/panel/service/impl/VisualPanelServiceImpl.java @@ -844,24 +844,26 @@ public class VisualPanelServiceImpl extends ServiceImpl<VisualPanelDao, VisualPa // 将chartsData获取任务装入futureList List<CompletableFuture<Map>> futureList = this.recursionChartsData(chartsList, basicQueryParam, varList); + + Map chartsDataMap = new HashMap(); try { - Map chartsDataMap = new HashMap(); - CompletableFuture.allOf((CompletableFuture<?>[]) futureList.toArray(new CompletableFuture[0])) - .get(timeout, TimeUnit.MILLISECONDS); - futureList.forEach(future -> { - Map<String, Object> result = future.getNow(null); - if (Tool.MapUtil.isNotEmpty(result)) { - if (Tool.MapUtil.isNotEmpty(result)) { // && - // Tool.StrUtil.equals("success",Tool.StrUtil.toString(result.get("status"))) - chartsDataMap.put(StrUtil.concat(true, StrUtil.toString(result.get("chartId")), "_", - StrUtil.toString(result.get("eleIndex"))), result); - } + CompletableFuture completableFuture = CompletableFuture.allOf(futureList.toArray(new CompletableFuture[0])); + completableFuture.get(timeout,TimeUnit.MILLISECONDS); + } catch (Exception e) { + log.error(e, "snapshot query timeout"); + } + futureList.forEach(future -> { + Map<String, Object> result = future.getNow(null); + if (Tool.MapUtil.isNotEmpty(result)) { + if (Tool.MapUtil.isNotEmpty(result)) { // && + // Tool.StrUtil.equals("success",Tool.StrUtil.toString(result.get("status"))) + chartsDataMap.put(StrUtil.concat(true, StrUtil.toString(result.get("chartId")), "_", + StrUtil.toString(result.get("eleIndex"))), result); } - }); - resultMap.put("chartsData", chartsDataMap); - } catch (InterruptedException | ExecutionException | TimeoutException e) { - log.error(e); - } + } + }); + resultMap.put("chartsData", chartsDataMap); + } // 读取模板,替换数据 BufferedReader reader = null; |
