From 0becc3c207412543ded0195cc4f897eb5434f24d Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 24 一月 2025 04:22:20 +0800
Subject: [PATCH] 多次ping
---
ycl-server/src/main/java/com/ycl/task/UYTask.java | 2 +-
ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java | 22 +++++++++++++++++-----
2 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java
index cfa9685..c4887a3 100644
--- a/ycl-server/src/main/java/com/ycl/task/UYTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java
@@ -214,7 +214,7 @@
OnlineCheckThread thread = new OnlineCheckThread(monitor, checkPointUtil, time);
return thread.call(); // 鍋囪 OnlineCheckThread 瀹炵幇浜� Callable 鎺ュ彛
}, executorService)
- .orTimeout(60, TimeUnit.SECONDS)
+ .orTimeout(120, TimeUnit.SECONDS)
.exceptionally(ex -> {
if (ex instanceof TimeoutException) {
log.error("浠诲姟鎵ц瓒呮椂:"+monitor.getIp());
diff --git a/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java b/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
index 3263723..8857297 100644
--- a/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
+++ b/ycl-server/src/main/java/com/ycl/utils/CheckPointUtil.java
@@ -86,11 +86,7 @@
map = new HashMap<>();
}
if (!monitor.getPingOnline()) {
- try {
- reachable = InetAddress.getByName(monitor.getIp()).isReachable(5000);
- } catch (IOException e) {
- log.error("Ping寮傚父{}",e.getMessage());
- }
+ reachable = checkPing(monitor, reachable);
if(!reachable) log.error("ping妫�娴嬬绾�"+monitor.getIp());
monitor.setPingOnline(reachable);
}
@@ -123,6 +119,22 @@
return monitor;
}
+ private boolean checkPing(TMonitorResult monitor, boolean reachable) {
+ try {
+ int[] sleepTimes = {5000, 15000, 30000};
+ for (int sleepTime : sleepTimes) {
+ reachable = InetAddress.getByName(monitor.getIp()).isReachable(5000);
+ if (reachable) {
+ break;
+ }
+ Thread.sleep(sleepTime);
+ }
+ } catch (Exception e) {
+ log.error("Ping寮傚父{}",e.getMessage());
+ }
+ return reachable;
+ }
+
/**
* 鐩戞祴鐐逛綅鍦ㄧ嚎
--
Gitblit v1.8.0