如何在Autosys中设置依赖作业完成后的延迟执行时间?
在Autosys中实现依赖完成后延迟执行的方案
方法1:新增中间触发作业(推荐)
通过创建一个仅用于触发的中间作业,先等待所有依赖作业成功完成,再让目标作业基于该中间作业的成功状态延迟执行,逻辑更清晰易维护。
配置示例
- 中间触发作业(以BOX类型为例):
insert_job: JobDelayTrigger job_type: BOX condition: s(Job1) AND s(Job2) AND ... AND s(Job10) owner: autosys_user permission: gx date_conditions: 0
该作业无实际执行命令,仅在所有依赖作业成功后自动完成。
- 目标作业
JobFinal:
insert_job: JobFinal job_type: CMD command: /path/to/your/script.sh condition: s(JobDelayTrigger) owner: autosys_user permission: gx date_conditions: 1 start_times: "00:00" run_window: "00:00-23:59" time_zone: UTC # 核心配置:满足触发条件后延迟1小时执行 delay: 01:00
方法2:直接在目标作业中配置
无需新增中间作业,直接在JobFinal中同时设置依赖条件和延迟参数:
insert_job: JobFinal job_type: CMD command: /path/to/your/script.sh condition: s(Job1) AND s(Job2) AND ... AND s(Job10) owner: autosys_user permission: gx date_conditions: 1 start_times: "00:00" run_window: "00:00-23:59" time_zone: UTC delay: 01:00
当所有依赖作业成功的条件满足时,Autosys会自动延迟1小时启动JobFinal,完全区别于基于时间回溯检查状态的lookback选项。
关键注意事项
delay参数格式为HH:MM,取值范围是00:01到23:59- 必须将
date_conditions设为1,否则delay参数不会生效 - 若依赖作业完成时间可能跨天,需确保
run_window覆盖全天时段,避免延迟后超出窗口导致作业无法执行
内容的提问来源于stack exchange,提问作者Luis
相关产品推荐
相关产品推荐

