summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfangshunjian <[email protected]>2022-10-10 18:39:12 +0800
committerfangshunjian <[email protected]>2022-10-10 18:39:12 +0800
commitfe9269d4c8a28cb54a9b2672fc1a2677bcc2c361 (patch)
tree6171cde52526515c2359626c201dde9f0dbc6b83
parenta2939495abd551b225f0a88ad6fdb7ec64eb365b (diff)
fix: snapshot timeout 允许返回部分已完成图表数据rel-22.07.13
-rw-r--r--nz-admin/src/main/java/com/nis/modules/panel/service/impl/VisualPanelServiceImpl.java34
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;