查看: 385|回复: 0

taskctl跨调度服务依赖实现

[复制链接]
论坛徽章:
0
发表于 2017-9-6 10:01 | 显示全部楼层 |阅读模式

tm 测试 安全 服务器

    原文:http://www.cnblogs.com/01passerby/p/7483091.html
       今天发现了taskctl一个比较强大的功能跨调度服务依赖,在这里分享给大家:
       我这里说的是跨调度服务器依赖,不是同一调度服务的同一流程中的用Lean属性;也不是同一调度服务的不同流程,用事件发送节点和事件接收节点来做;而且调度服务器B上的某一作业b_work1依赖于调度服务器A上的某一个作业a_worke作业。
       其实原理和跨流程依赖类似,只是跨服务依赖时,原先的事件发送节点不能用了,但是taskctl其实提供了ctlsendevent这个可执行程序,用来向核心发送事件命令。首先在调度服务器Aa_worke作业后面添加一个exe作业,程序名称就是ctlsendevent,参数分别是目标IP 端口 用户名 用户密码 事件,如下所示
  
    <exe>
  
      <name>sendevent</name>
  
      <progname>ctlsendevent</progname>
  
      <para>$(server_ip) $(server_port) $(user)  $(passwd) $(enentbufflow)</para>
  
    </exe>
  
       而在B调度服务器的b_work1作业前,按正常的添加一个事件接受节点,接受的消息和发送的消息一致即可。如下
  
    <recvevent>
  
      <name>job1</name>
  
      <para>$(enentbufflow)</para>
  
    </recvevent>
  
       如上配置好后就可以实现跨调度服务依赖了。
       我测试过,这个 ctlsendevent 程序是一个可以独立运行的程序,不依赖于是否安装了taskctl,那意味着大家拿去的可玩空间很大,比如像封装在web服务中,点击页面上的某个按钮就可以触发web服务去执行这个程序,发送相应的消息,web的验证体系由web服务做,但是web服务又和调度服务分开,充分的完成了很多安全需求。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

 

GMT+8, 2018-9-25 12:45 , Processed in 0.103156 second(s), 28 queries .