调度配置中_实例信息的特殊配置对实例执行的影响
在任务实例信息配置中,提供三种机制用于控制实例在不同生命周期阶段的处置行为。三种配置相互独立,分别作用于实例的等待阶段、进入运行的瞬间和运行阶段。
运行超时时长
作用阶段:实例处于运行中(Running)
若任务实例的实际运行时长超过设定值,系统将直接将该实例置为失败状态,以防止异常任务长时间挂起、持续占用计算资源。
调度等待时长
作用阶段:实例到达调度触发时间,处于等待上游完成的阶段
从调度触发时间起,若实例在设定时长内仍处于等待状态(既未进入运行,也未运行结束),系统将直接将该实例置为失败,以防止因上游长时间未完成而造成调度堆积。
延迟运行空跑跳过时长
作用阶段:实例从等待状态切换至运行状态的瞬间
系统计算实际进入运行状态的时刻与原定调度触发时间之间的差值。若差值超过设定时长,系统将对该实例执行空跑跳过,并将状态置为成功,以避免对严重滞后的实例进行无意义的重复计算。
综合示例:自依赖周期任务
配置背景:自依赖任务,每 5 分钟调度一次,三种超时配置均为 10 分钟,首个实例(T1)于 14:00 开始运行,实际需运行 20 分钟。
场景一:运行超时时长
| 时间 | 事件 |
| 14:00 | T1 开始运行 |
| 14:10 | 运行时长达到 10 分钟上限,T1 置为失败 |
| 14:05 起的后续实例 | 因上游 T1 失败,所有自依赖后续实例暂停执行 |

场景二:调度等待时长
| 时间 | 事件 |
| 14:00 | T1 正常开始运行(不受此配置影响) |
| 14:05 | T2 到达触发时间,进入等待上游(T1)的状态 |
| 14:15 | T2 等待时长达到 10 分钟上限,T2 置为失败;T1 仍可继续正常运行 |
| 14:10 | T3 到达触发时间,进入等待状态;其下游任务因 T2 失败而暂停 |
| 14:20 | T3 等待时长达到 10 分钟上限,T3 置为失败;T1 正常完成 |
场景三:延迟运行空跑跳过时长
| 时间 | 事件 |
| 14:00 | T1 正常开始运行 |
| 14:05 | T2 到达触发时间,等待 T1 完成 |
| 14:20 | T1 完成,T2 进入运行状态;延迟 = 14:20 − 14:05 = 15 分钟 > 10 分钟 |
| 14:20 | T2 被执行空跑跳过,置为成功,触发 T3 的调度 |

联系我们

