-
Data Governance Dev authored
上一个提交引入了 wave 调度,如果用户勾选了有依赖的 Step 但没勾该依赖(如选 1/3/4/5 但不选 2), 调度器会在 ready=[] 时抛 RuntimeError('调度死锁'), 整个 job 标失败,日志提示看起来很严重但其实只是用户配置问题。 修复: - 在进入 wave 调度前加预处理,把'依赖不在计划里' 的 Step 拎出来 WARN 跳过(沿用非关键失败的处理路径) - 把 wave 循环里 ready=[] 时的 RuntimeError 降级为 ERROR + break(防御性保留,理论上预处理后不应该再发生) - 调度计划日志里多加一行 '因依赖缺失跳过=...' 字段, 用户 / 排查时可以一眼看出被跳了哪个 验证(steps=[1,3,4,5] 此次失败案例): 调整前:Job 失败,错误 '调度死锁: 剩余 [3] 但无依赖被满足' 调整后:Step 3 因缺 [2] 被 WARN 跳过,Job 正常跑完 1/4/53e07d7ac