fix: 去掉ping骚扰+注入datetime防日期幻觉
1. cron_health_monitor/verify_reassess_pipeline: bridge检测从发ping改为TCP端口检测 2. xmpp_agent_core: call_hermes注入当前时间防止LLM日期幻觉 [当前时间: 2026-07-07 15:32 Tuesday] 3. 修复import datetime缺失
This commit is contained in:
@@ -155,19 +155,21 @@ def main():
|
||||
alerts.append(f"⏰ {j['name']}({j['id'][:8]}) {reason}")
|
||||
state[key] = {"last_alerted": datetime.now().timestamp()}
|
||||
|
||||
# ── 检查3:XMPP bridge是否在线 ──
|
||||
# ── 检查3:XMPP bridge是否在线(TCP端口检测,不发消息到Dad) ─
|
||||
bridge_key = "bridge_down"
|
||||
try:
|
||||
req = Request(XMPP_BRIDGE, data=b'{"to":"hmo@yoin.fun","body":"ping","type":"chat"}',
|
||||
headers={"Content-Type":"application/json"})
|
||||
resp = urlopen(req, timeout=3)
|
||||
ok = json.loads(resp.read()).get("ok") == True
|
||||
if not ok and is_new_alert(bridge_key, state):
|
||||
alerts.append("🔴 XMPP bridge异常")
|
||||
import socket
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
sock.settimeout(3)
|
||||
result = sock.connect_ex(("127.0.0.1", 5805))
|
||||
sock.close()
|
||||
bridge_ok = (result == 0)
|
||||
if not bridge_ok and is_new_alert(bridge_key, state):
|
||||
alerts.append("🔴 XMPP bridge(5805)端口无响应")
|
||||
state[bridge_key] = {"last_alerted": datetime.now().timestamp()}
|
||||
except Exception as e:
|
||||
if is_new_alert(bridge_key, state):
|
||||
alerts.append(f"🔴 XMPP bridge不可达: {e}")
|
||||
alerts.append(f"🔴 XMPP bridge检测失败: {e}")
|
||||
state[bridge_key] = {"last_alerted": datetime.now().timestamp()}
|
||||
|
||||
# ── 检查4:price_monitor数据新鲜度(直接查DB,不依赖job记录)─
|
||||
|
||||
@@ -132,16 +132,18 @@ def run():
|
||||
checks.append({"check":"strategies","status":"fail","detail":str(e)})
|
||||
ok = False
|
||||
|
||||
# 3. XMPP bridge 是否在线
|
||||
# 3. XMPP bridge 是否在线(TCP端口检测,不发消息到Dad)
|
||||
try:
|
||||
req = Request(XMPP_BRIDGE, data=b'{"to":"hmo@yoin.fun","body":"ping","type":"chat"}',
|
||||
headers={"Content-Type":"application/json"})
|
||||
resp = urlopen(req, timeout=3)
|
||||
bridge_ok = json.loads(resp.read()).get("ok") == True
|
||||
import socket
|
||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
sock.settimeout(3)
|
||||
result = sock.connect_ex(("127.0.0.1", 5805))
|
||||
sock.close()
|
||||
bridge_ok = (result == 0)
|
||||
if not bridge_ok:
|
||||
ok = False
|
||||
alerts.append("XMPP bridge异常")
|
||||
checks.append({"check":"xmpp_bridge","status":"ok" if bridge_ok else "fail","detail":"在线" if bridge_ok else "异常"})
|
||||
alerts.append("XMPP bridge(5805)端口无响应")
|
||||
checks.append({"check":"xmpp_bridge","status":"ok" if bridge_ok else "fail","detail":"在线" if bridge_ok else "端口无响应"})
|
||||
except Exception as e:
|
||||
checks.append({"check":"xmpp_bridge","status":"fail","detail":str(e)})
|
||||
ok = False
|
||||
|
||||
Reference in New Issue
Block a user