diff --git a/deploy/profile-scripts/intraday_health_check.py b/deploy/profile-scripts/intraday_health_check.py index ea93960e..d29bef2c 100644 --- a/deploy/profile-scripts/intraday_health_check.py +++ b/deploy/profile-scripts/intraday_health_check.py @@ -65,24 +65,6 @@ def db_today_count(table, date_col): return -1 -def check_xiaoguo(): - """小果管道:进程/scanner有数据/API可达(降级不报错)""" - # 进程 — 不一定有常驻进程(no_agent cron模式) - # 数据 — 今日有扫描记录 - scans_today = db_today_count("xiaoguo_scan_tracker", "last_scanned_at") - if scans_today <= 0: - # 可能是小果离线了,不报严重,记录即可 - return - # API — 用socket快速检测可达性(3s超时) - try: - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.settimeout(3) - s.connect(("node122", 18003)) - s.close() - except: - pass - - def check_price_monitor(): """价格监控:检查price_monitor cron最近是否运行 + 数据是否更新 @@ -152,37 +134,26 @@ def check_price_monitor(): def check_bots(): zhiwei = subprocess.run(["systemctl", "is-active", "xmpp-zhiwei.service"], capture_output=True, text=True, timeout=5).stdout.strip() == "active" - xiaoguo = subprocess.run(["systemctl", "is-active", "xmpp-xiaoguo.service"], - capture_output=True, text=True, timeout=5).stdout.strip() == "active" log(zhiwei, "知微XMPP Bot离线") - log(xiaoguo, "小果XMPP Bot离线") def check_gateways(): log(check_port(8643), "知微Gateway :8643 未监听") - log(check_port(8645), "小果Gateway :8645 未监听") def check_signal_pipeline(): - """信号从xiaoguo_scanner→signal_news→consumer是否通畅""" + """信号处理管道:检查信号积压 + 宏观风险状态""" unproc = 0 - total_unproc = 0 try: conn = get_conn() - # xiaoguo 信号堆积(4h以内时效) - r = conn.execute("SELECT COUNT(*) FROM signal_news WHERE source LIKE 'xiaoguo%' AND (processed=0 OR processed IS NULL) AND created_at > datetime('now', '-4 hours')").fetchone() + # 全量未处理信号 + r = conn.execute("SELECT COUNT(*) FROM signal_news WHERE (processed=0 OR processed IS NULL)").fetchone() unproc = r[0] - # 全量未处理信号(跨来源) - r2 = conn.execute("SELECT COUNT(*) FROM signal_news WHERE (processed=0 OR processed IS NULL)").fetchone() - total_unproc = r2[0] conn.close() except: pass - log(unproc < 30, f"xiaoguo信号堆积: {unproc}条未处理(需<30)") - # 其他来源信号积压预警 - other = total_unproc - unproc - if other > 50: - log(False, f"其它来源信号积压: {other}条未处理(divergence_watch/trend等无consumer)") + if unproc > 50: + log(False, f"信号积压: {unproc}条未处理") # 宏观风险状态检查 try: @@ -248,7 +219,6 @@ def main(): check_bots() check_gateways() - check_xiaoguo() if 9 <= now.hour < 16: # 开盘前10分钟(9:00-9:10)跳过价格新鲜度检查 # price_monitor 从 09:00 才开始启动,09:01 检查时数据还未更新(前一天收盘数据)