From c96848e9bb80feda9558010b2a9a98d1d056d3e4 Mon Sep 17 00:00:00 2001 From: Saisai Liu <1374434128@qq.com> Date: Sun, 2 Jun 2024 22:49:54 +0800 Subject: [PATCH] =?UTF-8?q?fix():=E8=A7=A3=E5=86=B3=E6=8A=A5=E9=94=99=20ve?= =?UTF-8?q?rsion-2():=E8=A7=A3=E5=86=B3=E8=BF=AD=E4=BB=A3=E5=99=A8?= =?UTF-8?q?=E6=8A=A5=E7=A9=BA=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mobai/openApi/SelectInstances.java | 44 ++++++++++++++----- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/mobai/openApi/SelectInstances.java b/src/main/java/com/mobai/openApi/SelectInstances.java index 4e17cad..90434ca 100644 --- a/src/main/java/com/mobai/openApi/SelectInstances.java +++ b/src/main/java/com/mobai/openApi/SelectInstances.java @@ -6,7 +6,7 @@ import com.alibaba.fastjson2.JSON; import com.aliyun.ecs20140526.models.DescribeInstancesResponse; import com.aliyun.ecs20140526.models.DescribeInstancesResponseBody; import com.aliyun.tea.TeaException; -import com.mobai.domain.ApifoxModel; +import com.mobai.domain.flux.ApifoxModel; import com.mobai.domain.MqttServerModel; import com.mobai.domain.Result; import com.mobai.service.FluxGetInfoService; @@ -51,19 +51,41 @@ public class SelectInstances { return new com.aliyun.ecs20140526.Client(config); } - // @Scheduled(cron = "0 0/10 * * * ? ") - @Scheduled(cron = "0 0/10 * * * ? ") + + // 通过接口获取数据 + public DescribeInstancesResponse getInfo() { + DescribeInstancesResponse describeInstancesResponse = null; + try { + com.aliyun.ecs20140526.Client client = SelectInstances.createClient(); + com.aliyun.ecs20140526.models.DescribeInstancesRequest describeInstancesRequest = new com.aliyun.ecs20140526.models.DescribeInstancesRequest() +// .setImageId("m-8vb8qnidv34yj3nbirhc") + .setRegionId("cn-zhangjiakou"); + com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); + + describeInstancesResponse = client.describeInstancesWithOptions(describeInstancesRequest, runtime); + } catch (Exception e) { + throw new RuntimeException(e); + } + return describeInstancesResponse; + } + + + //10分钟 +// @Scheduled(cron = "0 0/10 * * * ? ") + //10秒 + @Scheduled(cron = "0/10 * * * * ? ") public void saveIps() throws Exception { List ips = new ArrayList<>(); - com.aliyun.ecs20140526.Client client = SelectInstances.createClient(); - com.aliyun.ecs20140526.models.DescribeInstancesRequest describeInstancesRequest = new com.aliyun.ecs20140526.models.DescribeInstancesRequest() -// .setImageId("m-8vb8qnidv34yj3nbirhc") - .setRegionId("cn-zhangjiakou"); - com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); +// com.aliyun.ecs20140526.Client client = SelectInstances.createClient(); +// com.aliyun.ecs20140526.models.DescribeInstancesRequest describeInstancesRequest = new com.aliyun.ecs20140526.models.DescribeInstancesRequest() +//// .setImageId("m-8vb8qnidv34yj3nbirhc") +// .setRegionId("cn-zhangjiakou"); +// com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions(); + DescribeInstancesResponse response = this.getInfo(); try { // 复制代码运行请自行打印 API 的返回值 - DescribeInstancesResponse describeInstancesResponse = client.describeInstancesWithOptions(describeInstancesRequest, runtime); - DescribeInstancesResponseBody.DescribeInstancesResponseBodyInstances instances = describeInstancesResponse.getBody().getInstances(); +// DescribeInstancesResponse describeInstancesResponse = client.describeInstancesWithOptions(describeInstancesRequest, runtime); + DescribeInstancesResponseBody.DescribeInstancesResponseBodyInstances instances = response.getBody().getInstances(); List instance = instances.getInstance(); for (DescribeInstancesResponseBody.DescribeInstancesResponseBodyInstancesInstance inst : instance) { @@ -102,7 +124,7 @@ public class SelectInstances { for (String ip : ips) { Result info = fluxGetInfoService.getInfo(ip); //连接总数 - long connectSize = info.getData().getMqttInfo().getConnectSize(); + long connectSize = Long.parseLong(redisTemplate.opsForValue().get("onlineCar-"+ip)); log.info("{}::{}", ip, connectSize); //添加到一个容器 nodes.add(new SmallNode(ip, connectSize));