Control-M在每月作业和每日作业之间添加条件



我正在使用control-m来调度一些作业,下面是我面临的场景:

Job-1-每天运行(不是在特定时间)

Job-2-每月1日订购,但在10日左右运行(未固定)

现在,我要求Job-2依赖于Job-1的执行。假设作业-2变成";合格的";如果要在12日执行,那么它应该只在以下场景中执行:-

  1. 第12个作业1已成功执行
  2. 如果作业1的执行没有安排在第12次,那么作业2应该检查最后一次成功执行(例如,可能是第11次)

如果Job-1的最后一次执行失败,则不应执行Job-2

我所尝试的是,在日期为PREV的Job-2上指定IN条件,但这似乎无法检查当前日期的Job-1执行情况。

-->对于带有"Nodate"的job-1用完条件-->对于作业-2,使用作业-1节点输出条件作为条件。一旦该作业2结束,ok删除作业1条件。除此之外,奥黛特还面临着第二份工作。-->在作业1前提条件中,检查(没有日期的作业1输出条件或以前日期的作业2输出条件),并在仅在前提条件中使用后删除条件。

执行流程。因此,job-1将每天运行,并将带有nodate的outcondition抛出到数据库中。第二天运行时,它会检查(job-1的nodate条件或job-2的prev date out条件),如果其中任何一个可用,则接受该条件并从数据库中删除相同的条件并触发job-1。

无论何时运行作业-2,它都会在当天检查作业-1的nodate条件。如果job-1成功,那么它的nodate输出条件将可供使用,并可用于触发job-2。一旦作业2完成,作业1的nodate条件将被删除。并且作业-2的当前日期输出条件将在第二天的作业-1执行中使用,因为作业-1的日期条件将不可用。

谢谢。

有几种方法可以解决这个问题:

第一种是有两个版本的作业1。这两项工作的区别在于日历。除了作业2要运行的一天之外,一天都在运行。第二个只在第2天运行,此作业创建了作业2用作入条件的出条件。

另一种选择是在作业1上创建一个out条件作为后处理,然后作业2将此条件用作in条件,并以**为日期-请记住在作业2完成时删除此条件(这始终是一种很好的做法)。

语法为status=*(或sysout中的某个字符串),compstat=OK,do add条件。

您也可以在作业2中强制作为后处理,将强制作业添加到on语句中。

最新更新