taskctl内置函数getjresult和getjstate的区别和意义

在使用taskctl时,有时候但愿能经过获取上个节点的执行状况来决定是否执行某个节点。这个需求能够经过getjresult在condition条件中判断做业返回值来实现,如如下代码:shell

<condition>if($getjresult('job1')==0) CTL_DOIT else CTL_ING</condition>

不过有时候还但愿做业job1出错后,人工强制经过也算成功。那么采用getjresult函数就不太好实现了。这时候咱们须要运用内置函数getjstate。查看《TASKCTL控制器与模块代码》 中关于getjstate的说明。咱们知道11 表明成功执行,15表明忽略错误经过(此内容有遗漏)。所以,咱们只须要把condition条件改成以下代码便可:函数

<condition>if($getjstate('job1')==11 or $getjstate('job1')==15) CTL_DOIT else CTL_ING</condition>

总结一下二者的意义:code

getjresult -- 表示获取做业自己产生的返回值,如shell脚本的exit 0xml

getjstate -- 表示TASKCTL执行做业的状态结果,这个值是由TASKCTL定义和产生的get

相关文章
相关标签/搜索