0

我们正在使用 Control-M 向遗留应用程序提交多个批处理作业,但由于限制,监控其状态的唯一方法是查询数据库的Process表。

Process桌子:

作业编号 工作统计
1 完成的 美国广播公司
2 失败的 美国广播公司
3 开始 美国广播公司
4 开始 美国广播公司

我正在尝试使用循环数据库作业来查询作业,并在仍有作业时重新运行 5 分钟Started,但在以下情况下会中断:

  • 查询结果为空(该批次不存在作业) - 设置为Not OK
  • 所有作业都在其中一个FinishedFailed批处理中 - 设置为OK

目前,我正在尝试做类似的事情:

SELECT 'TotalJobs', COUNT(JobNum)
FROM Process
WHERE Batch = 'ABC'

SELECT 'StartedJobs', COUNT(JobNum)
FROM Process
WHERE Batch = 'ABC'
  AND JobStat = 'Started'

SELECT 'CompletedJobs', COUNT(JobNum)
FROM Process
WHERE Batch = 'ABC'
  AND JobStat IN ('Finished', 'Failed')

然后使用带有特定语句的 On-Do 操作,例如 -

Statement: *
Code: TotalJob,0
Set-NotOK
Statement: *
Code: StartedJobs,0
Set-OK

但它会同时执行这两个操作...

是否可以使用 On-Do Actions 进行更复杂的分析?

谢谢

4

1 回答 1

0

看起来它应该可以工作,您能否分享输出(sysout)和作业日志的屏幕截图,当它匹配两种场景时(这将显示它匹配的内容)。输出可能包含超出预期的内容。

于 2021-09-17T21:38:29.463 回答