From 84d72dfd852aaf3322f95d3ec63b46ccacc47763 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=A5=E5=BE=AE?= Date: Tue, 21 Jul 2026 09:46:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20intraday=5Fhealth=5Fcheck=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E5=B0=8F=E6=9E=9C=E6=AE=8B=E7=95=99=E2=80=94=E2=80=94?= =?UTF-8?q?check=5Fxiaoguo/8645=E7=AB=AF=E5=8F=A3/=E5=B0=8F=E6=9E=9Cbot/?= =?UTF-8?q?=E5=B0=8F=E6=9E=9C=E4=BF=A1=E5=8F=B7=E5=A0=86=E7=A7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 小果已全线归档(2026-07-20 Xiaoxiao重构)。盘中自检脚本仍残留: - check_xiaoguo()函数 - 小果XMPP Bot离线检测 - 8645端口检测 - xiaoguo信号堆积检查(含import socket) - main()中check_xiaoguo()调用 全部移除,匹配已修复的运行版本。 --- .../profile-scripts/intraday_health_check.py | 40 +++---------------- 1 file changed, 5 insertions(+), 35 deletions(-) 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 检查时数据还未更新(前一天收盘数据)