调度工具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. Chapter1-data access reloaded:Entity Framework(下)

    1.4 Delving deep into object/relational differences 深入挖掘对象关系的不同 理解面向对象和关系世界的不同是重要的,因为他会影响你设计一个对象模型或者 ...

  2. mac下Android Studio干净卸载

    1.卸载Android Studio,在终端(terminal)执行以下命令: rm -Rf /Applications/Android\ Studio.app rm -Rf ~/Library/Pr ...

  3. Oracle常用SQL与练习

    基本 数学函数 rownum相关 分页查询 (假设每页显示10条) 不包含排序: 包含排序: 时间处理 1. to_char和to_date基本使用 eg1: eg2: 2)months_betwee ...

  4. 关于页面上输入框中 空格 、0 、NULL 的处理 示例

    ep.setPositionNum(get("positionNum").toString()); ep.setClasstype(get("classtype" ...

  5. 有向图强连通分量的Tarjan算法(转)

    [有向图强连通分量] 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected).如果有向图G的每两个顶点都强连通,称G是一个强连通图.非强连通图有向图的极 ...

  6. SPOJ:The Next Palindrome(贪心&思维)

    A positive integer is called a palindrome if its representation in the decimal system is the same wh ...

  7. [Usaco2009 MAR] Earthquake Damage 2

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1585 [算法] 一个最小割的经典模型 , 详见代码 时间复杂度 : O(dinic( ...

  8. hashlib练习

    练习一 练习二 练习三 答案 #!/usr/bin/python# #-*-coding:UTF-8-*- import hashlib ''' 字典存用户名和密码 ''' db = { 'micha ...

  9. hdu 5119 (类似于划分数的状态定义) (DP中的计数问题)

    题目描述:求n个数中异或值大于m的方案数有多少个? 设状态f[i][j]代表前i个数异或值为j的方案数有f[i][j]种,那么对于j来说要么选第i个数与前面的i-1个数中的某些数构成j,f[i-1][ ...

  10. hdu6035

    树形dp 并没有想出来... 这个点分治很明显做不了,没办法批量处理信息,那么我们就只能考虑树形dp了,然后觉得用虚树什么的每个颜色单独考虑,GG 事实上我们可以这样考虑,我们对树进行dfs,每个节点 ...