【发布时间】:2021-09-17 04:02:00
【问题描述】:
我们正在使用 Control-M 向旧应用程序提交多个批处理作业,但由于限制,监控其状态的唯一方法是查询数据库的 Process 表。 p>
Process表:
| JobNum | JobStat | Batch |
|---|---|---|
| 1 | Finished | ABC |
| 2 | Failed | ABC |
| 3 | Started | ABC |
| 4 | Started | ABC |
我正在尝试使用循环数据库作业来查询作业,并在 Started 中仍有作业时重新运行 5 分钟,但在以下情况下会中断:
- 查询结果为空(该批次不存在作业)- 设置为
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 Actions -
Statement: *
Code: TotalJob,0
Set-NotOK
Statement: *
Code: StartedJobs,0
Set-OK
但它会同时执行这两种操作...
是否可以使用 On-Do Actions 进行更复杂的分析?
谢谢
【问题讨论】:
标签: sql-server control-m bmc