taskctl内置函数getjresult和getjstate的区别和意义
2017-10-16 00:00
92 查看
在使用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定义和产生的
<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定义和产生的
相关文章推荐
- taskctl内置函数getjresult和getjstate的区别和意义
- taskctl内置函数getjresult和getjstate的区别和意义
- taskctl内置函数getjresult和getjstate的区别和意义
- 阻塞(sleep等等)区别 中断(interrupt)+ 中断的意义
- 配置文件Struts.xml <result>中type属性 redirect,redirectAction,chain的区别
- startActivity( ) 与startActivityForResult( )的区别
- Struts2中result的type其中redirect,redirectAction,chain的区别
- mybatis select标签中resultMap和resultType作用区别
- ibatis ResultClass和ResultMap的区别
- mybatis resultType和resultMap的区别
- 在Service中新开线程和直接新开线程的区别与意义
- 关于JavaScript中apply与call的用法意义及区别
- ibatis中resultMap和resultClass的区别
- Expression<Func<T,TResult>>和Func<T,TResult>的区别
- 关于JavaScript中apply与call的用法意义及区别(转)
- 关于JavaScript中apply与call的用法意义及区别
- android中 px,dp,sp什意思和意义区别
- MyBatis结果集处理,中resultType和resultMap的区别
- startActivityForResult与startActivity的区别
- PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别