我正在寻找一种方法来获取Autosys中作业的下游依赖项的递归列表。
E.g。如果 jobX1 的条件为s(jobA)
且 jobX2 具有相同的条件s(jobA)
,我希望能够列出下游的依赖关系 jobA jobX1 和 jobX2 及其递归的下游家属。
我需要它,因为如果我将 jobA 放在冰上但仍然需要下游依赖运行,我想获得强制执行的快速列表。我希望autorep
可以选择,但我似乎找不到。
我知道我可以编写一个Perl脚本来处理dependecies并且它很容易做但我宁愿不重新发明轮子。
答案 0 :(得分:1)
使用job_depends命令。它有-c和-d选项,用于在作业之前和之后列出作业。
答案 1 :(得分:0)
在基于Oracle的4.5版本的AutoSys(其中'autosys'是架构)中,我使用以下查询来获取递归依赖项列表:
select ltrim(sys_connect_by_path(b.job_name,' ==> '),' ==> ') parent_child_grandchild
from autosys.job b
start with ( b.condition LIKE ('%jobA%')
)
and b.JOB_TYPE ='b'
connect by b.condition like PRIOR concat(concat('%',b.job_name),'%')
order by parent_child_grandchild;