diff --git a/Models/TimerClass.cs b/Models/TimerClass.cs index a1610ad..41e4580 100644 --- a/Models/TimerClass.cs +++ b/Models/TimerClass.cs @@ -40,6 +40,9 @@ namespace AutoNotificatPhone.Models // Kafka 心跳超时阈值(分钟) private const int KafkaStaleMinutes = 5; + // 数据库备份窗口(北京时间 3:00-4:00),该时段跳过心跳检查 + private const int KafkaCheckSkipStartHour = 3; + private const int KafkaCheckSkipEndHour = 4; // 数据库连接失败累计到 N 次才触发一次告警,避免告警风暴 private const int KafkaDbAlertTriggerCount = 8; @@ -499,6 +502,13 @@ namespace AutoNotificatPhone.Models { try { + // 北京时间 3:00-4:00 为数据库备份窗口,此时不做心跳检查,避免误报 + var beijingTime = DateTime.UtcNow.AddHours(8); + if (beijingTime.Hour >= KafkaCheckSkipStartHour && beijingTime.Hour < KafkaCheckSkipEndHour) + { + return; + } + // 从配置构建连接串 var connectionString = BuildPostgresConnectionString(); if (string.IsNullOrWhiteSpace(connectionString))