xtquant_manager.health_monitor¶
HealthMonitor — 后台健康检查线程
三级检查策略(参照 thread_monitor.py 的设计哲学): Level 0 每 check_interval 秒:is_healthy()(内存,无 I/O) → 健康但 ping 过期 → 例行 ping 探测(成功时不记为失败) → 不健康 → Level 1 Level 1:ping()(真实探测,3s 超时) → 失败 → Level 2 Level 2:reconnect()(指数退避,在后台线程中 sleep) → 重连冷却防风暴(默认 60s)
与 thread_monitor.py 的一致性: - 使用 threading.Event.wait() 替代 time.sleep(支持快速 stop()) - 每账号维护独立的重连冷却时间 - 完整的重连历史计数
HealthMonitor ¶
HealthMonitor(manager: XtQuantManager, check_interval: float = 30.0, reconnect_cooldown: float = 60.0)
后台健康检查线程。
Usage
monitor = HealthMonitor(manager, check_interval=30.0) monitor.start()
... 运行中 ...¶
monitor.stop()
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
manager
|
XtQuantManager
|
XtQuantManager 实例 |
必需 |
check_interval
|
float
|
每次健康检查间隔(秒) |
30.0
|
reconnect_cooldown
|
float
|
两次重连之间的最小冷却时间(秒) |
60.0
|