用途:监控后台任务 Worker 的健康状态,识别离线、降级、不健康以及卡住(已启动但未完成)的 Worker,并跟踪性能退化、失败率与延迟分位数。
主要能力:以心跳为核心,结合滚动窗口与可配置阈值判定状态。状态枚举包括 healthy、degraded、unhealthy、offline、unknown。阈值项含 heartbeatTimeoutSeconds、degradedFailureRate、unhealthyFailureRate、degradedLatencyMultiplier、unhealthyLatencyMultiplier、maxQueueDepth,默认值分别为 60、0.05、0.15、1.5、3.0、100。可记录心跳(含内存、CPU、队列深度)、记录执行完成(成功与否、耗时),维护最近 100 条耗时的滚动窗口并计算平均耗时,提供健康汇总(各状态计数、总处理数、总失败数、整体失败率、系统状态)、延迟分位数查询以及卡住任务检测(默认 maxAgeSeconds=300)。
使用方式:先 registerWorker 注册 Worker 并给出预期耗时,任务执行时调用 recordExecutionComplete,定时循环调用 recordHeartbeat,通过 getHealthSummary 与 getPercentileDuration 暴露健康接口。提供 TypeScript 与 Python 两种实现,均含单例获取函数 getHealthMonitor / get_health_monitor。
适用场景:后台作业 Worker 监控、离线或卡住检测、性能退化跟踪、失败率与延迟分位数统计。
限制:资料未提供安装命令、依赖、许可、收费与平台信息;示例代码为参考实现,需按实际基线设置预期耗时与阈值,心跳超时过短易误判离线,长任务期间需持续发送心跳。