pi-model-auto-router: 修复 stall watchdog 竞态(iterator.return 不解除挂起的 next()) #16
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
weisanju/pi-plugins!16
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/stall-watchdog-race"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
return()不会让挂起的next()返回,watchdog 触发后 for-await 循环永远卡死,post-loop failover 代码无法执行,导致发布 CI 的测试门禁拦截 v0.4.0loopInterruptedpromise +wakeLoop():abort / watchdog 终结时唤醒消费循环(Promise.race([pendingNext, loopInterrupted])),吞掉迟到的迭代结果后退出,由ended.done/stalledByWatchdog决定 transient failover 或 abort 清理⚠ target ✗剩余时长)优先于last=failed是既定展示优先级,改为断言两目标进入冷却 + all-failed 错误事件Test plan
bun run check通过bun test31/31(含原失败的 stalled-stream failover 测试)bun run build重建 distpi-model-auto-router/v0.4.0标签,发布 CI 全绿