taskctl跨调度服务依赖实现

浏览: 1460

       原文 : http://www.cnblogs.com/01passerby/p/7483091.html

       今天发现了taskctl一个比较强大的功能跨调度服务依赖,在这里分享给大家:

       我这里说的是跨调度服务器依赖,不是同一调度服务的同一流程中的用Lean属性;也不是同一调度服务的不同流程,用事件发送节点和事件接收节点来做;而且调度服务器B上的某一作业b_work1依赖于调度服务器A上的某一个作业a_worke作业。

       其实原理和跨流程依赖类似,只是跨服务依赖时,原先的事件发送节点不能用了,但是taskctl其实提供了ctlsendevent这个可执行程序,用来向核心发送事件命令。首先在调度服务器A的a_worke作业后面添加一个exe作业,程序名称就是ctlsendevent,参数分别是目标IP 端口 用户名 用户密码 事件,如下所示

         sendevent       ctlsendevent       $(server_ip) $(server_port) $(user) $(passwd) $(enentbufflow)    

       而在B调度服务器的b_work1作业前,按正常的添加一个事件接受节点,接受的消息和发送的消息一致即可。如下

         job1       $(enentbufflow)    

       如上配置好后就可以实现跨调度服务依赖了。

       我测试过,这个 ctlsendevent 程序是一个可以独立运行的程序,不依赖于是否安装了taskctl,那意味着大家拿去的可玩空间很大,比如像封装在web服务中,点击页面上的某个按钮就可以触发web服务去执行这个程序,发送相应的消息,web的验证体系由web服务做,但是web服务又和调度服务分开,充分的完成了很多安全需求。

推荐 0
本文由 ETL批量调度-Taskctl 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册