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