• 陈泽健's avatar
    fix(scheduler): 新增僵尸执行常驻看门狗,杜绝执行线程死亡卡死调度 · 72db5e2e
    陈泽健 提交于
    背景:5.44 出现执行线程死亡但进程存活的「僵尸执行」——DB 记录卡 running
    29 小时,内存锁已释放但 DB 层 running 守卫(scheduler_service.py)永久挡死
    调度,定时任务 6 小时触发全部被跳过。启动期 recover_interrupted_executions
    只兜进程重启,无法兜线程死亡。
    
    实现(execution_service.py + main.py):
    - 新增常驻 watchdog_loop,每 60s 扫描 UI running/pending 执行
    - 双活信号:内存心跳(每用例完成后 touch)+ DB 结果数跨扫描增长
      (非绝对数量,存量结果不算存活)
    - 30 分钟无活信号判僵尸,标记 failed + 释放内存锁(set_running_execution)
    - 安全测试执行不纳入看门狗;5 分钟启动缓冲避免误杀
    
    验证:
    - 新增 tests/test_watchdog_stale_execution.py(9 例,全绿)
    - 5.202/5.60 已部署并清理各自 1 个僵尸执行(330/0 条结果),自动触发新回归
    - 5.44 等待当前 332 用例回归跑完后部署
    Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
    72db5e2e
名称
最后提交
最后更新
.claude Loading commit data...
.github/workflows Loading commit data...
Docs Loading commit data...
backend Loading commit data...
deploy Loading commit data...
frontend Loading commit data...
.gitignore Loading commit data...
CLAUDE.md Loading commit data...
HANDOFF.md Loading commit data...
HANDOFF_UI自动化.md Loading commit data...
HANDOFF_V2部署升级.md Loading commit data...
HANDOFF_安全测试.md Loading commit data...
HANDOFF_性能测试.md Loading commit data...
HANDOFF_接口测试.md Loading commit data...
HANDOFF_文档管理.md Loading commit data...
HANDOFF_自动化部署测试.md Loading commit data...
HANDOFF_设备模拟.md Loading commit data...
HANDOFF_设备模拟_主题配置改造.md Loading commit data...
README.md Loading commit data...