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;