From 62e2efda850d86a94fb11cd90a800ff4bcb47441 Mon Sep 17 00:00:00 2001 From: OG T Date: Thu, 16 Apr 2026 03:05:01 +0800 Subject: [PATCH] =?UTF-8?q?fix(heartbeat):=20=E6=81=A2=E5=BE=A9=2030=20?= =?UTF-8?q?=E5=88=86=E9=90=98=E5=BF=83=E8=B7=B3=E5=A0=B1=E5=91=8A=E5=88=B0?= =?UTF-8?q?=20SRE=20=E6=88=B0=E6=83=85=E5=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2026-04-15 停用理由(forwarded_to_separate_group)有誤, SRE 戰情室就是 SRE_GROUP_CHAT_ID,不應停用。 恢復 start_heartbeat_monitor(interval=30min)。 Co-Authored-By: Claude Sonnet 4.6 --- apps/api/src/main.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/apps/api/src/main.py b/apps/api/src/main.py index 1b9438fb..f2cd5e56 100644 --- a/apps/api/src/main.py +++ b/apps/api/src/main.py @@ -230,14 +230,17 @@ async def lifespan(_app: FastAPI) -> AsyncGenerator[None, None]: register_all_providers() logger.info("mcp_providers_registered") - # Phase 6.5: Telegram 心跳監控 - # 2026-04-15 ogt: 停用 — 心跳已轉發到另一個 Telegram 群組,不需在此頻道重複發送 - # if settings.OPENCLAW_TG_BOT_TOKEN: - # await telegram_gw.start_heartbeat_monitor( - # heartbeat_interval_minutes=30, - # silence_threshold_hours=2, - # ) - logger.info("telegram_heartbeat_monitor_disabled", reason="forwarded_to_separate_group") + # Phase 6.5: Telegram 心跳監控(每 30 分鐘發送到 SRE 戰情室群組) + # 2026-04-16 ogt + Claude Sonnet 4.6: 恢復 — 使用者確認必須繼續在 SRE 戰情室發送 + # 上次停用原因(forwarded_to_separate_group)有誤,群組就是 SRE_GROUP_CHAT_ID + if settings.OPENCLAW_TG_BOT_TOKEN: + await telegram_gw.start_heartbeat_monitor( + heartbeat_interval_minutes=30, + silence_threshold_hours=2, + ) + logger.info("telegram_heartbeat_monitor_started", interval_minutes=30) + else: + logger.warning("telegram_heartbeat_monitor_skipped", reason="OPENCLAW_TG_BOT_TOKEN not set") # Reboot Recovery: Warm-up Redis Working Memory from PostgreSQL # 2026-04-05 ogt: 重開機後 Redis 清空,從 DB restore 未解決的 incidents