• 陈泽健'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
名称
最后提交
最后更新
..
Docs Loading commit data...
app Loading commit data...
data Loading commit data...
scripts Loading commit data...
tests Loading commit data...
deploy_document.py Loading commit data...
pytest.ini Loading commit data...
requirements.txt Loading commit data...
test_protocol_dialog.py Loading commit data...