优化交换机心跳监测功能

This commit is contained in:
gaoyutao
2025-11-03 14:26:14 +08:00
parent 07baaf07b0
commit 841dd84a99
2 changed files with 6 additions and 7 deletions

View File

@@ -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);

View File

@@ -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;