From 6237a01f61dc4f987d89562a0c6f2aac81c48110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=A5=E5=BE=AE?= Date: Tue, 7 Jul 2026 12:29:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20cron=E5=81=A5=E5=BA=B7=E7=9B=91=E6=8E=A7?= =?UTF-8?q?=E5=8F=AA=E7=9B=91=E6=8E=A7=E5=AE=9E=E6=97=B6=E7=AE=A1=E9=81=93?= =?UTF-8?q?,=20=E6=8E=92=E9=99=A4=E6=97=A5/=E5=91=A8=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/cron_health_monitor.py | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/scripts/cron_health_monitor.py b/scripts/cron_health_monitor.py index 5a2781c6..10dd4293 100644 --- a/scripts/cron_health_monitor.py +++ b/scripts/cron_health_monitor.py @@ -20,21 +20,17 @@ STATE_FILE = Path.home() / ".hermes" / ".cron_health_state.json" COOLDOWN_HOURS = 2 # 同类告警2小时内不重复 # 关键job及其最大允许空闲分钟 -# 基于schedule推导:允许 2×正常间隔 + 5分钟buffer +# 只监控实时管道(每分~每小时跑的关键任务) +# 日/周任务不在此列(它们不耽误实时推荐也不需要秒级响应) CRITICAL_JOBS = { - # 管道核心 - "price_monitor": {"max_idle_min": 15}, # 每2分跑一次 - "Price Range Monitor": {"max_idle_min": 15}, # 同上(可能不同名字) - "MoFin盘前中监控": {"max_idle_min": 60}, # 每25分 - "自选买入区提醒": {"max_idle_min": 90}, # 每30分 - "宏观风险扫描": {"max_idle_min": 90}, # 每30~60分 - # 自检 - "重评管道审计": {"max_idle_min": 60}, # 每30分 - "全局cron健康监控": {"max_idle_min": 30}, # 每10分 ← 自己 - # 其他 - "策略时效性检查": {"max_idle_min": 180}, # 每日 - "实时消息中继": {"max_idle_min": 30}, # 每5分 - "策略评估": {"max_idle_min": 360}, # 每日 + "price_monitor": {"max_idle_min": 15}, # 每2分 → 允许15分 + "Price Range Monitor": {"max_idle_min": 15}, # 同上 + "MoFin盘前中监控": {"max_idle_min": 90}, # 每25分 → 允许90分(非交易时段停跑) + "自选买入区提醒": {"max_idle_min": 90}, # 每30分 + "宏观风险扫描": {"max_idle_min": 90}, # 每30分(盘中) + "重评管道审计": {"max_idle_min": 90}, # 每30分 + "全局cron健康监控": {"max_idle_min": 30}, # 每10分 ← 自己 + "实时消息中继": {"max_idle_min": 20}, # 每5分 } def xmpp_push(text):