From b899d202bb53ba9f12ac31de41ec83eb01d523a8 Mon Sep 17 00:00:00 2001 From: XuJiacheng Date: Wed, 25 Mar 2026 09:07:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E5=A4=87=E4=BB=BD=E7=AA=97=E5=8F=A3=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E9=81=BF=E5=85=8D=E5=9C=A8=E5=A4=87=E4=BB=BD=E6=9C=9F?= =?UTF-8?q?=E9=97=B4=E8=BF=9B=E8=A1=8C=E5=BF=83=E8=B7=B3=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Models/TimerClass.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) 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))