如何在TWS Workload Scheduler中多日查询作业及流并获取起止时间
我明白你想批量查询Workload Scheduler中某个作业连续多天的运行记录——尤其是获取开始/结束时间这类关键数据,之前试的几种方法都没满足需求对吧?下面给你几个可行的解决方案:
方法1:用conman命令行工具批量循环查询
conman是Workload Scheduler的核心命令行工具,其实可以通过脚本循环结合日期参数,批量拉取多天的作业数据,非常适合自动化处理。比如你要查作业XXXX2024年3月1日到3月30日的运行记录,可以写个简单的shell脚本:
#!/bin/bash start_date="03/01/2024" end_date="03/30/2024" # 遍历日期(依赖GNU date工具处理日期递增) current_date="$start_date" while [[ "$current_date" != "$(date -d "$end_date +1 day" +%m/%d/%Y)" ]]; do echo "=== 查询日期: $current_date ===" # sj是Show Job命令,@指定归档日期,-s指定只输出开始/结束时间 conman "sj @$current_date;job=XXXX" -s start,end # 日期递增一天 current_date=$(date -d "$current_date +1 day" +%m/%d/%Y) done
如果是Windows环境,也可以用PowerShell实现类似的循环逻辑,核心思路都是逐个日期调用查询命令,再汇总结果。
方法2:通过REST API做范围查询(推荐)
如果你的Workload Scheduler环境启用了REST API,这是最高效的方式——直接一次请求就能获取整个日期范围的作业实例数据。比如发送这样的GET请求:
GET /rest/plan/v1/archive/job_instances?jobName=XXXX&startDate=2024-03-01T00:00:00Z&endDate=2024-03-30T23:59:59Z&fields=startTime,endTime
这个请求会返回该作业在指定日期内所有运行实例的开始、结束时间,结果是JSON格式,方便你导出到表格或者做进一步分析。你可以用curl、Postman,甚至自己写个小脚本调用这个API。
方法3:利用Dynamic Workload Console的高级筛选
如果你的环境有可视化控制台(Dynamic Workload Console),试试这个图形化的方法:
- 进入Monitor > Workload > Job Instances页面
- 在筛选面板里,设置
Job Name等于XXXX,然后把Start Time的范围设为3月1日到3月30日 - 点击搜索后,就能看到所有符合条件的作业实例,还可以直接导出CSV格式的结果,方便查看和整理
一些避坑提醒
- 你之前用的
symnew工具确实只支持单日期查询,批量场景下不太适用 List plan的归档日期选择默认是单个,但结合脚本或者API就能突破这个限制- 注意日期格式要和你的Workload Scheduler环境匹配(比如有的环境用
MM/DD/YYYY,有的用YYYY-MM-DD)
内容的提问来源于stack exchange,提问作者jijeesh kuttykrishnan
相关产品推荐
相关产品推荐

