第一次失败后停止重复的 Autosys 作业调度

第一次失败后停止重复的 Autosys 作业调度

我们有一个重复作业 JOB_A,每 15 分钟运行一次。如果它失败了,我们必须强制启动另一个框 BOX_TO_FIX 来修复该问题。

但问题是,我们的运营团队花了 20-30 分钟的时间来应对 JOB_A 的故障。在他们启动 BOX_TO_FIX 之前,这个重复作业 JOB_A 再次启动并第二次失败。

我们担心的是,另一个操作员可能会收到第二次警报,并可能第二次运行BOX_TO_FIX,这是我们必须避免的。

是否可以在第一次失败后停止重复作业 JOB_A 的调度?如果状态为失败,在我们解决失败原因之前,它不应该重新启动?

答案1

听起来像是两个工作流程问题。

  1. 当 JOB_A 失败时运行 BOX_TO_FIX。
  2. 当 JOB_A 失败时不允许其运行,直到 BOX_TO_FIX 可以运行。

是否可以设定一个失败(JOB_A)BOX_TO_FIX 上的条件,所以当 JOB_A 失败时它会自动启动?

无论答案是什么,您都可以设置一个全局变量,该变量在 JOB_A 失败时将其禁用,直到 BOX_TO_FIX 成功重置它。

insert_job: JOB_A
condition: value(JOB_A_IS_BROKEN) = 0
etc.

insert_job: OMG_A_BROKE
condition: failure(JOB_A)
command: sendevent -E SET_GLOBAL -G JOB_A_IS_BROKEN=1

insert_job: BOX_TO_FIX_IS_FINISHED
box_name: BOX_TO_FIX
condition: success(last cmd in BOX_TO_FIX)
command: sendevent -E SET_GLOBAL -G JOB_A_IS_BROKEN=0

相关内容