首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tivoli Workload Scheduler [TWS]条件依赖关系-如何实现?

Tivoli Workload Scheduler [TWS]条件依赖关系-如何实现?
EN

Stack Overflow用户
提问于 2014-11-19 05:15:13
回答 3查看 2.8K关注 0票数 1

在尝试找出以下方案的解决方案后,我正在与中小企业联系。我有一个非常具体的要求:

1)假设我有一个名为SCH1的调度,它有3个作业JOB1、JOB2和JOB3,如下所示:

代码语言:javascript
复制
Schedule S1
JOB1

JOB2
FOLLOWS JOB1

JOB3
FOLLOWS JOB2

END

2) JOB1正在调用外壳脚本。3)现在,如果JOB1外壳脚本返回代码0-成功,则执行JOB2和JOB3。4)如果shell脚本返回的代码不是0,JOB1仍然不应异常终止;但应跳过所有其他作业JOB2和JOB3 (或在不运行的情况下完成);计划应标记为成功。

我在网上得到了下面的链接,这表明这应该是可能的。但是,当我提到Job/Schedule定义的语法时,我不知道应该如何编写它。

在作业语法中,下面看起来可以做到这一点,但不是很确定。

代码语言:javascript
复制
 [rccondsucc "Success Condition"] 
   [recovery 
        {stop | continue | rerun}
        [after [workstation#]jobname] 
        [abendprompt “text”] ]

条件依赖:

http://www-01.ibm.com/support/knowledgecenter/SSGSPN_9.1.0/com.ibm.tivoli.itws.doc_9.1/zos/src_man/eqqr1conddepevalex.htm?lang=en

作业语法:

http://www-01.ibm.com/support/knowledgecenter/SSGSPN_9.1.0/com.ibm.tivoli.itws.doc_9.1/distr/src_ref/awsrgjobdefn.htm?lang=en

计划语法:

http://www-01.ibm.com/support/knowledgecenter/SSGSPN_9.1.0/com.ibm.tivoli.itws.doc_9.1/distr/src_ref/awsrgjsdefn.htm?lang=en

EN

回答 3

Stack Overflow用户

发布于 2014-11-29 07:59:00

我会说这是不可能的。

使用RCCONDSUCC,您可以根据作业的返回代码微调作业的状态(SUCC或ABEND)。这只意味着你不受RC =0= SUCC或RC >0= ABEND的限制。

使用RECOVERY,您可以指定仅当作业处于ABEND状态时才应执行的操作。

在这里,您希望强制作业成功并指定恢复...

票数 1
EN

Stack Overflow用户

发布于 2016-04-28 00:04:13

要在条件依赖项的帮助下跳过Job2和Job3,Job1必须处于"E“状态。但是您可以向只有在Job1中止时才运行的应用程序添加Job4 (也可以用CondDep定义)。此作业完成Job1 (或整个应用程序)。它是有效的--我在客户会议上演示了这个例子:-)

如果作业Job2和Job3具有CondDep to Job1: Job1必须处于"C“状态,Job1必须以RC<>0结束,则这些作业也可能完成并跳过这些作业。

票数 0
EN

Stack Overflow用户

发布于 2017-03-01 16:56:29

从9.3 FP1开始,可以使用内置的conditional dependencies实现这一点

假设您想让JOB3等待JOB2放弃,使用条件依赖关系,您的场景可以像这样实现

代码语言:javascript
复制
 SCHEDULE SCH1 
 :
 JOB1
  DOCOMMAND "myscript"
  STREAMLOGON twsuser
  SUCCOUTPUTCOND GO "RC=0"
  SUCCOUTPUTCOND NOGO "RC!=0"

 JOB2
  FOLLOWS JOB1 IF GO

 JOB3
  FOLLOWS JOB2
  FOLLOWS JOB1 IF GO
 END

JOB1定义了2个SUCCOUTPUTCOND:如果RC=0,则GO;如果RC!=0,则为NOGO。两者都是SUCCOUTPUTCOND,这意味着JOB1在这两种情况下都会成功。

  • 如果JOB1以RC=0结束,则GO条件为真,并且满足FOLLOWS JOB1 IF GO依赖关系,因此可以运行JOB2和JOB3 (JOB3将等待JOB2,因为它还有一个RC不为0的JOB1结束,GO为false,NOGO为true。由于至少在SUCCOUTPUTCOND为true,JOB1在SUCC中完成,但FOLLOWS JOB1 IF GO不满足,JOB2和JOB3将被设置为SUPPR状态,不会运行。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27004185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档