忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT 徽章 文库 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 1824 | 回复: 0

[其他] taskctl内置函数getjresult和getjstate的区别和意义 [复制链接]

论坛徽章:
0
发表于 2017-10-16 10:27 |显示全部楼层
在使用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_DOITelse CTL_ING</condition>
总结一下两者的意义:
getjresult -- 表示获取作业本身产生的返回值,如shell脚本的exit 0

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

您需要登录后才可以回帖 登录 | 注册

本版积分规则

DTCC2018购票6.8折优惠进行时

中国数据库技术大会是国内数据库及大数据领域规模最大、最受欢迎的技术交流盛会。 2018年5月10-12日,第九届中国数据库技术大会将如约而至。本届大会以“数领先机•智赢未来”为主题,设定2大主会场及20个技术专场,邀请来自国内外互联网、金融、教育等行业百余位技术专家,共同探讨Oracle、MySQL、NoSQL、大数据等领域的前瞻性热点话题与技术。
----------------------------------------
优惠时间:2018年2月13日前

报名链接>>
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP