将自动作业暂停,但不希望立即运行

时间:2015-01-27 15:04:53

标签: autosys

我在autosys中有2个作业:作业1和作业2.仅当Job1成功时,Job2才会运行。

现在,在正常情况下,Job1和Job2将作为每日批次的一部分连续运行。

但是,有时候,我需要在不开始Job2的情况下重新运行Job1。但如果我重新运行Job1,它的成功将自动启动Job 2。 所以,我把Job2'暂停'并运行Job1。到目前为止一切都很好。

现在,根据我的经验,当我将Job 2' Off Hold'时,它会立即开始运行。我不想要那个。 http://autosys-tutorials.blogspot.ca/2011/04/autosys-quick-reference.html

我想要的是让Job2进入Runnable状态,以便在下一批次运行时获取它。 我应该将Job2设置为什么状态?

10 个答案:

答案 0 :(得分:2)

在这种情况下,您应该在重新运行Job1之前将Job2'On Ice'放置,而不是将其置于“暂停”状态。来自您发布的link

  

“暂停”和“冰上”之间的区别在于“开启时”   保持“如果工作已经开始,工作将被取消   满意,它将被安排运行,它将运行。在另一   如果一个“冰上”工作被“脱冰”,它就不会开始了   如果它的起始条件已经满足。这项工作不会   直到它的起始条件再次发生。

答案 1 :(得分:1)

我不确定你是否得到了怀疑的答案,还有一个选项是当off_hold它时不要让ON_HOLD作业立即运行。

  1. 将作业2状态从ON_HOLD更改为INACTIVE,因此当作业处于INACTIVE状态时,作业2将不会立即启动,同时作业2将开始运行一旦条件(作业1进入成功状态)。< / p>

  2. 如果您将作业2标记为ONICE,它将允许相关作业启动(如果有)。

  3. 此致 Kaliraja(HP Autosys团队)

答案 2 :(得分:1)

您可以暂停job2并运行job1。完成JOb1后,将Job2的状态更改为成功,以便可以按照计划并根据其条件下次启动。

答案 3 :(得分:0)

在开始Job_1之前将Job_2设为'On_Ice'

答案 4 :(得分:0)

您可以将作业2置于HOLD状态,但将作业标记为成功/失败(确保Job2对此状态没有其他依赖性)

答案 5 :(得分:0)

您可以暂停job2并运行job1。完成JOb1后,将Job2的状态更改为INACTIVE,以便下次按计划启动。

答案 6 :(得分:0)

您可以使用override_job子命令绕过执行一次。下一个计划将自动选择要运行的作业。

此示例显示如何定义一次性作业覆盖。以下脚本在没有条件的情况下运行作业RunData(其中一些先前已指定)并将结果输出到不同的输出文件: UNIX: override_job:RunData 条件:NULL std_out_file:“tmp \ SpecialRun.out”

如果要取消定义的覆盖作业,请使用以下 -

override_job:RunData delete

答案 7 :(得分:0)

场景的选项:

  1. 将job2放在&#34; No Execution&#34;每次要运行 job1时,请稍后将其删除。
  2. 将回顾作为s(job1,0)的成功条件放在job2上,以便永久修复以满足您的临时请求&amp;永久预定的运行如果您将其置于保持状态&amp;后来删除它。
  3. 将它放在冰上,但要确保Job2没有相关的工作。

答案 8 :(得分:0)

关于您不想放置Job2&#39; ON_ICE&#39;因为这将运行剩余的作业(job3 - job10),我认为除非主盒运行,否则不会发生这种情况。由于您已经提到要将job1作为独立运行,因此主框不应该运行,因为如果是这样,job1将自动触发。说完这些之后,当你想单独运行job1时,确保主框没有运行。否则,你所说的将会发生。

答案 9 :(得分:-1)

将这些作业放在同一个框中,将作业2 ON_HOLD,FORCESTART框,等待作业1完成SUCCESS,KILLJOB框,将作业2 OFF_HOLD,将框中所有作业的状态更改为SUCCESS。