关于Autosys条件的问题

时间:2016-05-24 16:02:28

标签: autosys

所以我定义了以下3个工作......

  /* ----------------- JOB_A ----------------- */

  insert_job: JOB_A   job_type: CMD
  command: ${BatchScripts}/JOB_A.ksh
  machine: xyz
  owner: abc@xyz
  permission: mx
  date_conditions: 1
  run_calendar: 13BUSDAY
  start_times: "00:10"
  std_out_file: /autotmp/JOB_A.std
  std_err_file: /autotmp/JOB_A.err
  alarm_if_fail: 1
  profile: /export/home/abc/.profile_autosys


  /* ----------------- JOB_B ----------------- */

  insert_job: JOB_B   job_type: CMD
  command: ${BatchScripts}/JOB_B.ksh
  machine: xyz
  owner: abc@xyz
  permission: mx
  date_conditions: 1
  run_calendar: 13BUSDAY
  start_times: "00:15"
  condition: s(JOB_A)
  std_out_file: /autotmp/JOB_B.std
  std_err_file: /autotmp/JOB_B.err
  alarm_if_fail: 1
  profile: /export/home/abc/.profile_autosys


  /* ----------------- JOB_C ----------------- */

  insert_job: JOB_C   job_type: CMD
  command: ${BatchScripts}/JOB_C.ksh
  machine: xyz
  owner: abc@xyz
  permission: mx
  date_conditions: 1
  run_calendar: 13BUSDAY
  start_times: "00:45"
  condition: s(JOB_B)
  std_out_file: /autotmp/JOB_C.std
  std_err_file: /autotmp/JOB_C.err
  alarm_if_fail: 1
  profile: /export/home/abc/.profile_autosys

他们跑,并检查他们的状态,我看到了。

  Job Name            Last Start           Last End             ST Run/Ntry Pri/Xit
  ___________________ ____________________ ____________________ __ ________ _______
  JOB_A               05/18/2016 00:10:03  05/18/2016 00:46:22  SU 76659457/1 0

  Job Name            Last Start           Last End             ST Run/Ntry Pri/Xit
  ___________________ ____________________ ____________________ __ ________ _______
  JOB_B               05/18/2016 00:46:24  05/18/2016 00:48:19  SU 76660708/1 0

  Job Name            Last Start           Last End             ST Run/Ntry Pri/Xit
  ___________________ ____________________ ____________________ __ ________ _______
  JOB_C               05/18/2016 00:45:03  05/18/2016 00:45:07  SU 76660477/1 0

现在,我们遇到了JOB_C的问题..它没有运行"正确" ......我们设法追溯到它早于它应该运行的事实。 换句话说,正如您在JOB_C的START / END时间所看到的那样,它在JOB_B开始之前就已经开始(并且已经完成)。

我对此感到困惑,因为我们在JOB_C上有条件(#B;)(JOB_B)" ......

可能导致此行为的原因是什么? JOB_B像它应该有的那样等待JOB_A,然后运行正常,但JOB_C似乎有点“不耐烦”#34;。

这种情况发生在几个晚上,但似乎并不是每晚都会发生(也许3个中有1个以上述方式失败)。

我唯一猜测的是,因为JOB_B没有"#34;开始"但是@:45分钟......它从之前的运行中看到了SU?

但是,这没有意义,因为JOB_B设置为启动@:15 ..它不应该首先更改为AC状态吗?然后根据条件等待JOB_A

[编辑] 版本是: CA Workload Automation代理

用于LINUX(Intel)32位

版本R11.3,Service Pack 2,维护级别0,Build 508 [/编辑]

1 个答案:

答案 0 :(得分:1)

你是正确的,因为工作C提前开始,因为在00:45工作B仍然处于其上一次运行的SU状态。作业B等待作业A,因为当作业B的运行时间在00:15触发时,作业A的状态为RU。

作业B未更改为AC状态,因为它不在激活它的框内。

我的建议是将作业A,B和C放在一个计划在00:10开始的框中,然后删除作业A的start_times。这应该导致作业A立即在00:10启动,作业B和C将更改为AC状态并防止遇到您遇到的问题。