Skip to content

心跳机制

Heartbeat 是网关里的轻量周期检查服务,用于健康检查和主动唤醒相关逻辑。它与自动化分离:自动化负责计划、手动和 webhook 触发的工作;Heartbeat 负责让长期运行的网关状态可观测。

概述

┌─────────────────┐
│ Heartbeat       │
│ Service         │
└────────┬────────┘

         ▼ (every intervalMs)
┌─────────────────┐
│ Check Status    │
│ - Runtime       │
│ - Memory        │
│ - Config        │
└────────┬────────┘


┌─────────────────┐
│ Emit logs /     │
│ wake checks     │
└─────────────────┘

配置

typescript
interface HeartbeatConfig {
  intervalMs: number;
  enabled: boolean;
}

默认配置:

json
{
  "heartbeat": {
    "intervalMs": 300000,
    "enabled": true
  }
}

使用场景

  • 按固定周期检查网关运行状态。
  • 监控内存和会话压力。
  • 在不依赖用户对话轮次的情况下暴露配置重载或唤醒条件。

与自动化的关系

组件职责
自动化由手动、计划或 webhook 触发,执行 Agent 或工作流动作
Heartbeat执行周期健康检查和唤醒相关监控

自动化不依赖 Heartbeat 来判断是否到期。自动化服务会自行计算并维护 nextRunAtMs;Heartbeat 仍然是独立的健康检查与监控机制。

故障排除

心跳不工作?

  • 确认 heartbeat.enabledtrue
  • 检查 heartbeat.intervalMs
  • 查看网关日志中的 Heartbeat 启动和运行错误。

触发过于频繁?

  • 增加 heartbeat.intervalMs
  • 检查绑定在 Heartbeat 检查上的唤醒条件。

基于 MIT 许可证发布