调度工具taskctl虽然支持分布式调度,但是有的时候,不同重要程度的调度服务还是要区分开来,在区分开后,不同调度服务之间怎么实现依赖啦,

  其实有很多方式,比如写文件,写数据库之类的,这些都可以根据用户自己的设计来实现,但其实taskctl自带的消息发送组件也是可以做到的,只是大家没发现(已经向官方求证和亲测过了)

  下面就把这个比较强大的功能跨调度服务依赖分享给大家:

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

其实原理和跨流程依赖类似,只是跨服务依赖时,原先的事件发送节点不能用了,但是taskctl其实提供了ctlsendevent这个可执行程序,用来向核心发送事件命令。首先在调度服务器A的a_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服务又和调度服务分开,充分的完成了很多安全需求。

调度工具taskctl跨调度服务依赖实现的更多相关文章

  1. 10万级etl批量作业自动化调度工具Taskctl之轻量级Web应用版

    什么是批量作业: 批量处理是银行业整个信息后台最为重要的技术形态,也是银行核心信息资产数据的分享.传输.演化的重要技术手段.有调查指出,全球70%的数据是经过批量处理得以再次使用,可见批量处理在整个信 ...

  2. 推荐:国产etl调度工具Taskctl web应用版,0元永久授权

    写在前面 2020年疫情席卷全球,更是对整个市场经济造成了严重影响,年初疫情肆虐,西方世界单方面的科技.经济封锁,国际关系吃紧.....导致很多中小型企业业务链受阻,大型企业经费资金吃紧,轮班制导致公 ...

  3. TASKCTL敏捷调度理念的诠释

    功能完整是基本,简单易用才是王道,这就是TASKCTL对敏捷的朴素定义.功能少,怎么复杂也会简单:而功能体系完整,怎么简单也会复杂.因此,简单与复杂是相对的,而TASKCTL正是追求那种在功能完整不可 ...

  4. Java学习笔记 -- Java定时调度工具Timer类

    1 关于 (时间宝贵的小姐姐请跳过) 本教程是基于Java定时任务调度工具详解之Timer篇的学习笔记. 什么是定时任务调度 基于给定的时间点,给定的时间间隔或者给定的执行次数自动执行的任务. 在Ja ...

  5. 使用TaskScheduler 调度器 实现跨线程的控件访问

    //任务调度器 TaskScheduler UIscheduler = null; public Form1() { //获取任务调度器 UIscheduler = TaskScheduler.Fro ...

  6. shell命令、调度工具、后台执行线程和软连接

    一.shell命令 1.后缀.sh 第一行需要加#!/bin/bash 没有的话,需呀sh 命令执行 示例test.sh: #!/bin/bash date ./test.sh 提示没有权限,此时,需 ...

  7. ETL作业调度工具TASKCTL的两个重大突破

    在传统设计理念下,流程图的可视化.作业流的定义设计功能,随着作业量增加,越来越难用,越来越不适用是一个难以避免的问题.就这两个问题,我给大家分享一下TASKCTL是如何转变思路.如何突破.如何带来一些 ...

  8. go调度: 第一部分-OS调度(操作系统调度)

    开场白 这个是三篇博客中的第一篇, 用来提供go调度背后的机制和语法. 这篇博客主要关注操作系统调度. 三篇博客的顺序是: 1) go调度: 第一部分 - 操作系统调度 2) go调度: 第二部分 - ...

  9. Apache Thrift 跨语言服务开发框架

    Apache Thrift 是一种支持多种编程语言的远程服务调用框架,由 Facebook 于 2007 年开发,并于 2008 年进入 Apache 开源项目管理.Apache Thrift 通过 ...

随机推荐

  1. oracle的日期蛋

    一切都是扯鸡巴蛋. 在网上查oracle的日期函数用法,得到一大堆语法,林林总总,都是扯鸡巴蛋,没能解决我的问题. 其实,我想写这么一条语句:查找某个日期(不含时分秒)产生或有关的记录.咋写? SQL ...

  2. ip地址的唯一性是如何保证的

    连接ISP网络时,运行商就分配了一个ip地址,所以,ip地址是运营商指定的. 账户只是控制是否可以接入而已,只要是插上网线,就已经动态分配了ip地址.

  3. javaScript查找HTML元素

    1.通过id查找 例:查找id="intro"元素 var x=document.getElementById("intro"); 2.通过标签名查找 例:查找 ...

  4. idea新建springmvc+spring+mybaties项目1

    1,点击file,选择module,新建项目 2,选择maven -- >maven-archetype-webapp 3,输入GroupId,ArtifactId,点击next 4,选择本地m ...

  5. linux下Apache默认安装路径

    如果采用RPM包安装,安装路径应在 /etc/httpd目录下apache配置文件:/etc/httpd/conf/httpd.conf  可以修改相关的访问路径及配置Apache模块路径:/usr/ ...

  6. Linux下安装Openfire 4.2.1

    1.下载安装包,下载地址:http://www.igniterealtime.org/downloads/index.jsp#openfire 2.将下载的安装包复制到linux服务器的/opt目录下 ...

  7. WebLogic之eclipse安装WebLogic插件

    转自:https://blog.csdn.net/magi1201/article/details/38323775

  8. 【412】Linux 系统编译 C 程序

    1. 直接编译,会自动生成 a.out 文件,此文件即为可执行文件 # 编译 *.c 文件,生成可执行文件 a.out gcc euclide.c # 直接运行如下,如果没有输入和输出文件的话 # & ...

  9. html title属性

    <table class="table table-hover table-striped"> @foreach (var article in Model) { &l ...

  10. jquery ajax post请求实例

    function test(){ $.ajax({ //提交数据的类型 POST GET type:"POST", //提交的网址 url:"testLogin.aspx ...