批量作业调度工具 Taskctl 定时器及模块之间的区别

软件获取:去公众号 "taskctl" 回复内容 "领取" "软件" 即可

主流程、子流程、定时器都属于控制容器;而每个控制容器,包含一个或多个模块;在模块中定义具体的作业。

一 主流程、子流程、定时器、模块之间的关系

主流程、子流程、定时器、模块在资源树中的表达:

  • 控制容器:是作业的最大组织单位,是一个独立完整的调度控制主体。在实际运行过程中,每个控制容器也相当于一个程序,在服务端都有一个对应的进程。因此,每个控制容器在Monitor中,都具有独立启停(激活)操作的特性。

  • 模块:在TASKCTL中, 流程、定时器的作业定义信息是通过xml格式代码组织的,而具体代码信息是又存放在每一个模块文件中。同时,为了方便管理,一个流程或定时器也可以由多个模块代码信息构成。其次,像程序一样。每个程序都有一个入口main函数类,而TASKCTL流程也有一个主模块入口。

  • 流程与定时器:流程与定时器是不同的控制容器, 有一个明显的概念区分。流程对作业的组织是有序的,而定时器是无序的,作业之间不存在关系。TASKCTL,就是通过有序与无序这两种组织形式,形成了一个相对完整的控制器体系。

  • 主流程与子流程:从技术的角度,主流程相当于一个守护进程,一旦运行,除非人为或异常退出,它就常驻内存,其流程内部是一个死循环,从开始运行到结束,又再次循环;而子流程,就相对于一个普通程序,运行结束后,相应的进程也会自动退出。

 

二 主流程、子流程、定时器的主要用途与应用场景。

1 总体上讲,具有先后逻辑关系的作业用流程来组织,而不具有逻辑关系且离散的作业(只具有不同时间频度的作业)用定时器来组织。

2 子流程,主要用于业务逻辑作业流的组织;主流程,一般用于逻辑触发控制,用于触发子流程的调用

 

三 用几个例子,加深对主流程、子流程、定时器的主要用途与应用场景的理解

1离散调用处理用定时器

业务子流程

用子流程来组织具体的业务处理流程

触发控制主流程

主流程主要用于流程的触发控制,本例是文件达到触发控制。

实际上,业务子流程的触发控制,如果是简单的定时触发,建议采用定时器;但如果是一些比较复杂的流程触发控制,就得采用主流程来触发控制。

一个复杂的主流程触发控制例子

 

对应代码

该例子为每周1,3,4的8,10,16点阶段运行调用 “我的业务处理流程”

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值