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

在使用taskctl时,有时候希望能通过获取上个节点的执行情况来决定是否执行某个节点。这个需求可以通过getjresult在condition条件中判断作业返回值来实现,如以下代码:
<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>

总结一下两者的意义:
getjresult -- 表示获取作业本身产生的返回值,如shell脚本的exit 0
getjstate -- 表示TASKCTL执行作业的状态结果,这个值是由TASKCTL定义和产生的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值