From a614cbd298ef9cc41ed612f0b4348b57915ec148 Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Fri, 15 May 2026 16:22:42 +0800 Subject: [PATCH] feat: implement runway observations monitoring panel and Telegram alert utilities --- .../monitoring/monitor-refresh-policy.ts | 2 +- .../scan-terminal/RunwayObservationsPanel.tsx | 2 +- src/utils/telegram_push.py | 38 +++++++++---------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/frontend/components/dashboard/monitoring/monitor-refresh-policy.ts b/frontend/components/dashboard/monitoring/monitor-refresh-policy.ts index 339adf70..e2071915 100644 --- a/frontend/components/dashboard/monitoring/monitor-refresh-policy.ts +++ b/frontend/components/dashboard/monitoring/monitor-refresh-policy.ts @@ -1,5 +1,5 @@ export const MONITOR_CITY_DETAIL_DEPTH = "panel" as const; -export const MONITOR_REFRESH_INTERVAL_MS = 60_000; +export const MONITOR_REFRESH_INTERVAL_MS = 300_000; export type MonitorRefreshTrigger = "initial" | "interval"; diff --git a/frontend/components/dashboard/scan-terminal/RunwayObservationsPanel.tsx b/frontend/components/dashboard/scan-terminal/RunwayObservationsPanel.tsx index 4c60e9dd..9caa3f7b 100644 --- a/frontend/components/dashboard/scan-terminal/RunwayObservationsPanel.tsx +++ b/frontend/components/dashboard/scan-terminal/RunwayObservationsPanel.tsx @@ -165,7 +165,7 @@ export function RunwayObservationsPanel() { ensureCityDetail(city.key, true, "panel"), ), ); - }, 60_000); + }, 300_000); return () => { if (intervalRef.current) clearInterval(intervalRef.current); }; diff --git a/src/utils/telegram_push.py b/src/utils/telegram_push.py index d9dea7d1..fdcbf46e 100644 --- a/src/utils/telegram_push.py +++ b/src/utils/telegram_push.py @@ -771,25 +771,25 @@ def _get_airport_daily_high(city_weather: Dict[str, Any]): # Per-city push interval — unified to 60s, obs_time dedup prevents spam _AIRPORT_PUSH_INTERVAL = { - "seoul": 60, - "busan": 60, - "tokyo": 60, - "ankara": 60, - "helsinki": 60, - "amsterdam": 60, - "istanbul": 60, - "paris": 60, - "hong kong": 60, - "lau fau shan": 60, - "taipei": 60, - "beijing": 60, - "shanghai": 60, - "guangzhou": 60, - "shenzhen": 60, - "qingdao": 60, - "chengdu": 60, - "chongqing": 60, - "wuhan": 60, + "seoul": 300, + "busan": 300, + "tokyo": 300, + "ankara": 300, + "helsinki": 300, + "amsterdam": 300, + "istanbul": 300, + "paris": 300, + "hong kong": 300, + "lau fau shan": 300, + "taipei": 300, + "beijing": 300, + "shanghai": 300, + "guangzhou": 300, + "shenzhen": 300, + "qingdao": 300, + "chengdu": 300, + "chongqing": 300, + "wuhan": 300, } # Per-city temperature window threshold (°C below DEB predicted high) # Continental airports: wider window (temp rises steadily over land)