我们正在使用 Control-M 向遗留应用程序提交多个批处理作业,但由于限制,监控其状态的唯一方法是查询数据库的Process表。
Process
桌子:
作业编号 | 工作统计 | 批 |
---|---|---|
1 | 完成的 | 美国广播公司 |
2 | 失败的 | 美国广播公司 |
3 | 开始 | 美国广播公司 |
4 | 开始 | 美国广播公司 |
我正在尝试使用循环数据库作业来查询作业,并在仍有作业时重新运行 5 分钟Started
,但在以下情况下会中断:
- 查询结果为空(该批次不存在作业) - 设置为
Not OK
- 所有作业都在其中一个
Finished
或Failed
批处理中 - 设置为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 进行更复杂的分析?
谢谢