【问题标题】:dependent job not starting due to s condition由于 s 条件,相关作业未开始
【发布时间】:2016-09-24 11:29:37
【问题描述】:
Job B 
Condition s(Job A, 9.00) 
Start time: 9:15

作业 A 已在 9 小时内运行。有时,作业 A 会在作业 B 的预定开始时间 (9:15) 之前再次开始运行。因此,作业 B 无法启动,因为作业 A 是 RU 而不是 SU。

Job B 的什么样的条件可以解决这个问题?

【问题讨论】:

    标签: autosys


    【解决方案1】:

    你的jobB真的应该依赖jobA的成功吗?如果是,那么您需要做的就是等待jobA完成,然后jobB将自动启动。如果没有,你可以在jobB的运行条件下简单地删除jobA,保持jobB的开始时间为9:15。另外,你的工作是否在同一个盒子里?你的 jobA 一天有多个运行时间吗?

    【讨论】:

    • 作业 B 应依赖于作业 A 的上一次运行(9 小时内)。作业 A 每天运行多次。工作 A 和 B 在不同的盒子里
    • 我正在寻找的是一些 '&' 条件以及这个条件 s(Job A, 9.00) 即使工作 A 处于 RU 状态也会触发工作 B
    • 我明白了,所以在jobB的运行条件下删除jobA不是一个选项。据我所知,autosys 中唯一可用的条件是 Done (d)、Success (s)、Failure (f)、Terminated (t) 和 Not Running (n)。您可以尝试使用“未运行”并输入感叹号“!”在它之前 "s(Job A, 9.00) | !n(Job A)。不过我还没有尝试过这个,所以我不确定。
    • 如果我给出的第一个不起作用,您可以创建一个脚本来监控作业 A 的状态。该脚本将在一个新作业(作业 C)中运行在 9:15 监控 Job A 的状态。此外,您需要将 Job B 的条件更新为 's(Job C)'。如果作业 C 在 9:15 看到作业 A 已经处于 SU 或 RU 状态,那么它将转向 SU,否则它将失败。当 Job C 已经在 SU 中时,Job B 会自动运行,否则会转到 IN。这样做的缺点是,一旦 Job C 已经处于非活动状态,即使 Job C 已经完成(过去 9:15),它也不会在当天再次运行
    猜你喜欢
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 2017-02-14
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    相关资源
    最近更新 更多