Skip to content

feat(health-probe): 健康探测可选全号轮询 (#399) - #444

Merged
dofastted merged 1 commit into
mainfrom
cursor/health-probe-all-slots-2cc6
Oct 15, 2026
Merged

dofastted merged 1 commit into
mainfrom
cursor/health-probe-all-slots-2cc6

Conversation

@dofastted

Copy link
Copy Markdown
Owner

背景

Closes #399 / REQ-0399:定时健康探测在首个槽成功后即停止,无法周期性触达 fleet 内其它账号的 5h 窗口。

变更

  • 新增 routing.health_probe.probe_all_slots(默认 false):关闭时保持原有 early-stop 与缓存语义不变。
  • 开启后每个 interval_sec 周期对所有可调度槽各探一次,仍受 isHealthProbeTarget(工作时段、冷却、凭证排除、real.vm_ids)与 concurrency(1–8,默认 2)约束。
  • 列表顺序中首个成功的结果仍写入健康缓存快照(第三方 hi/ping 回放逻辑不变)。
  • 面板 设置 → 探测 → 健康缓存 增加「全号轮询」开关。
  • 单测覆盖默认 early-stop、probe_all_slots 全量探测与快照槽位;CHANGELOG 写入 ## Unreleased(未改 VERSION)。
  • 文档:docs/PROTOCOL.md 补充 probe_all_slots 说明。

范围外

  • 未改鉴权、计费、HTTP API 契约;无数据库 / 配置迁移(新字段由 normalize 默认补齐)。

验证

  • biome format / format:check
  • node --test test/unit/health-probe.test.mjs(30/30 通过)
Open in Web Open in Cursor 

Add routing.health_probe.probe_all_slots (default off) so scheduled probes
can hit every schedulable slot each interval under concurrency and existing
target filters. First list-order success still feeds the health cache.

Panel switch under Settings → Probe; unit tests and CHANGELOG Unreleased.

Co-authored-by: ted <kuhlmangarry24@gmail.com>
@dofastted
dofastted merged commit 533f466 into main Oct 15, 2026
5 checks passed
@dofastted
dofastted deleted the cursor/health-probe-all-slots-2cc6 branch October 16, 2026 02:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] 探测最好加个功能,所有号都探测一遍,现在只要第一个探测,其他都不探测

2 participants