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):