主流程、子流程、定时器、模块之间的联系
主流程、子流程、定时器、模块在资源树中的表达:
-
操控容器:是作业的最大安排单位,是一个独立完好的调度操控主体。在实践运转过程中,每个操控容器也相当于一个程序,在服务端都有一个对应的进程。因而,每个操控容器在Monitor中,都具有独立启停(激活)操作的特性。
-
模块:在TASKCTL中, 流程、定时器的作业界说信息是通过xml格局代码安排的,而详细代码信息是又存放在每一个模块文件中。同时,为了便利办理,一个流程或定时器也能够由多个模块代码信息构成。其次,像程序相同。每个程序都有一个入口main函数类,而TASKCTL流程也有一个主模块入口。
-
流程与定时器:流程与定时器是不同的操控容器, 有一个显着的概念区别。流程对作业的安排是有序的,而定时器是无序的,作业之间不存在联系。TASKCTL,便是通过有序与无序这两种安排形式,形成了一个相对完好的操控器体系。
-
主流程与子流程:从技术的视点,主流程相当于一个看护进程,一旦运转,除非人为或反常退出,它就常驻内存,其流程内部是一个死循环,从开端运转到完毕,又再次循环;而子流程,就相对于一个一般程序,运转完毕后,相应的进程也会主动退出。
主流程、子流程、定时器的主要用途与应用场景
-
总体上讲,具有先后逻辑联系的作业用流程来安排,而不具有逻辑联系且离散的作业(只具有不同时刻频度的作业)用定时器来安排。
-
子流程,主要用于事务逻辑作业流的安排;主流程,一般用于逻辑触发操控,用于触发子流程的调用
用几个比如,加深对主流程、子流程、定时器的主要用途与应用场景的理解
离散调用处理用定时器
事务子流程
用子流程来安排详细的事务处理流程
触发操控主流程
主流程主要用于流程的触发操控,本例是文件达到触发操控
实践上,事务子流程的触发操控,如果是简略的定时触发,建议采用定时器;但如果是一些比较杂乱的流程触发操控,就得采用主流程来触发操控。
一个杂乱的主流程触发操控比如
对应代码
该比如为每周【1,3,4 】的【 8,10,16】 点阶段运转调用“我的事务处理流程”