fix: intraday_health_check + system_audit信号堆积监控盲区 — 增加全量未处理查询(非仅xiaoguo)
This commit is contained in:
@@ -165,15 +165,23 @@ def check_gateways():
|
||||
def check_signal_pipeline():
|
||||
"""信号从xiaoguo_scanner→signal_news→consumer是否通畅"""
|
||||
unproc = 0
|
||||
total_unproc = 0
|
||||
try:
|
||||
conn = sqlite3.connect(str(DB_PATH))
|
||||
# 只检查时效内的信号堆积(4小时以内),过期信号不被消费者处理但仍会计入堆积
|
||||
# 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()
|
||||
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"信号堆积: {unproc}条未处理(需<30)")
|
||||
log(unproc < 30, f"xiaoguo信号堆积: {unproc}条未处理(需<30)")
|
||||
# 其他来源信号积压预警
|
||||
other = total_unproc - unproc
|
||||
if other > 50:
|
||||
log(False, f"其它来源信号积压: {other}条未处理(divergence_watch/trend等无consumer)")
|
||||
|
||||
# 宏观风险状态检查
|
||||
try:
|
||||
|
||||
@@ -42,10 +42,15 @@ def audit_signals(conn):
|
||||
try:
|
||||
total = conn.execute("SELECT COUNT(*) FROM signal_news").fetchone()[0]
|
||||
unproc = 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()[0]
|
||||
total_unproc = conn.execute("SELECT COUNT(*) FROM signal_news WHERE (processed=0 OR processed IS NULL)").fetchone()[0]
|
||||
today = conn.execute("SELECT COUNT(*) FROM signal_news WHERE created_at > datetime('now','-1 day')").fetchone()[0]
|
||||
log_ok("信号管道", f"信号库{total}条,今日{today}条,未处理{unproc}条")
|
||||
log_ok("信号管道", f"信号库{total}条,今日{today}条,未处理{total_unproc}条(xiaoguo={unproc})")
|
||||
if unproc > 30:
|
||||
log_issue("信号管道", "HIGH", f"未处理信号堆积{unproc}条,可能处理速度跟不上")
|
||||
log_issue("信号管道", "HIGH", f"xiaoguo信号堆积{unproc}条,可能处理速度跟不上")
|
||||
# 检查其他来源信号积压(无consumer的信号源)
|
||||
other = total_unproc - unproc
|
||||
if other > 50:
|
||||
log_issue("信号管道", "MEDIUM", f"其它来源信号积压{other}条(divergence_watch/trend等,可能无consumer)")
|
||||
except Exception as e:
|
||||
log_issue("信号管道", "HIGH", f"查询失败: {e}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user