sql-server - Control-M - 使用 On-Do 操作分析 SQL Server 输出
问题描述
我们正在使用 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 进行更复杂的分析?
谢谢
解决方案
看起来它应该可以工作,您能否分享输出(sysout)和作业日志的屏幕截图,当它匹配两种场景时(这将显示它匹配的内容)。输出可能包含超出预期的内容。
推荐阅读
- css - 防止最大宽度跳跃的视频加载
- mysql - Laravel join 用于获得一对多关系?
- rust - 处理具有绑定生命周期的异步/未来响应?
- javascript - 为什么点表示法返回具有附加属性的对象,而扩展运算符不返回?
- logging - 停止写入 native_stderr.log 和 native_stdout.log websphere 应用服务器
- python - 对稍后创建的对象的引用
- ruby-on-rails - 为什么我的 rails 没有自动加载 app 文件夹?
- loops - 列表中每个项目的颤振调用函数
- python - 如何在解析电子邮件时修复 OLE 错误
- php - 使用主键从不同的表中获取字词