From 841dd84a992320b84836635dc554764c6663d726 Mon Sep 17 00:00:00 2001 From: gaoyutao Date: Mon, 3 Nov 2025 14:26:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=A4=E6=8D=A2=E6=9C=BA?= =?UTF-8?q?=E5=BF=83=E8=B7=B3=E7=9B=91=E6=B5=8B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/system/config/TableScheduleConfig.java | 2 +- .../scheduler/MultiSwitchCollectionScheduler.java | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/config/TableScheduleConfig.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/config/TableScheduleConfig.java index 6feeef3..8263826 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/config/TableScheduleConfig.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/config/TableScheduleConfig.java @@ -72,7 +72,7 @@ public class TableScheduleConfig { () -> initialSwitchInfoDetailsService.calculateSwitch95BandwidthDaily(initialSwitchInfoDetails, dailyStartTime, dailyEndTime, "1024"))); } // 每天5点04执行 计算金山95带宽值/日 -// @Scheduled(cron = "0 4 5 * * ?", zone = "Asia/Shanghai") + @Scheduled(cron = "0 4 5 * * ?", zone = "Asia/Shanghai") public void calculateJinShan95() { // 获取昨天的日期范围(北京时间) LocalDate yesterday = LocalDate.now(ZoneId.of("Asia/Shanghai")).minusDays(1); diff --git a/ruoyi-rocketmq/src/main/java/com/ruoyi/rocketmq/snmp/scheduler/MultiSwitchCollectionScheduler.java b/ruoyi-rocketmq/src/main/java/com/ruoyi/rocketmq/snmp/scheduler/MultiSwitchCollectionScheduler.java index 7fbbb05..1fdfdfa 100644 --- a/ruoyi-rocketmq/src/main/java/com/ruoyi/rocketmq/snmp/scheduler/MultiSwitchCollectionScheduler.java +++ b/ruoyi-rocketmq/src/main/java/com/ruoyi/rocketmq/snmp/scheduler/MultiSwitchCollectionScheduler.java @@ -265,10 +265,6 @@ public class MultiSwitchCollectionScheduler { log.error("SNMP采集器未初始化,无法启动交换机 {} 的心跳检测任务", switchIp); return null; } - // 创建Cron表达式:每30s执行一次 - String cronExpression = "30 * * * * ?"; - - Runnable heartbeatTask = () -> { try { // 获取当前时间作为检测时间戳 @@ -319,8 +315,11 @@ public class MultiSwitchCollectionScheduler { } }; - CronTrigger trigger = new CronTrigger(cronExpression); - ScheduledFuture future = taskScheduler.schedule(heartbeatTask, trigger); + long intervalSeconds = 30L; + Duration initialDelay = Duration.ofSeconds(10); + Duration interval = Duration.ofSeconds(intervalSeconds); + ScheduledFuture future = taskScheduler.scheduleWithFixedDelay( + heartbeatTask, Instant.now().plus(initialDelay), interval); log.info("交换机 {} 心跳检测任务启动,检测间隔: 30秒", switchIp); return future;