线程编排的小工具. 可以执行任意串并行组合的线程;
支持单个单元的超时控制;
每个单元可以有自己的参数及返回值. 支持单个单元结果的异步回调.
支持总体任务的超时调用及总体任务结束后的结果调用;
支持动态的决定不必要再执行的单元跳过执行, 亦可将不必要继续执行而正在执行的线程进行中断;
每个单元可适用在不同的任务编排中
支持动态修改后置节点
如果喜欢的话,点个星标
了解本项目可以从test里的测试用例看起.
基本的功能:
1. 串行线程调用 :
1.1. 单元执行 A -> B -> C
单元耗时 1 1 1 单位:秒
是否异常 否 否 否
那么当A单元执行成功后,会启动B执行, B单元执行成功后会启动C
1.2. 单元执行 A -> B -> C
单元耗时 1 1 1 单位:秒
是否异常 否 是 否
那么当A单元执行成功后,会启动B, B线程执行异常会直接跳过C单元的执行
2. 简单的并行调用:
2.1 全部非必须
A --非必须 正常 1秒-->
B --非必须 正常 2秒--> D --正常 0.5秒--
C --非必须 正常 2秒-->
谁执行的快, D单元用谁的参数
预期执行: A执行成功后会启动D线程, D线程开始执行并将B,C线程中断, 整体执行1.5秒
2.2 既有必须也有非必须
A -- 必须 正常 1秒-->
B --非必须 正常 2秒--> D --正常 0.5秒--
C --非必须 正常 2秒-->
A单元先执行成功
B,C单元谁先执行成功,谁启动D
预期执行 2.5秒
2.3 全部必须项
A -- 必须 正常 1秒-->
B -- 必须 正常 2秒--> D --正常 0.5秒--
C -- 必须 正常 3秒-->
A,B,C单元对于D单元必须
预期: A,B,C都执行成功, D再执行
2.4 全部都必须且有异常
A -- 必须 正常 1秒-->
B -- 必须 异常 1秒--> D --正常 0.5秒--
C -- 必须 正常 2秒-->
A,B,C单元对于D单元必须_
A,B都执行1秒, C执行2秒
其中B会执行失败
预期: A执行成功, B执行异常后将D 设置为Skipped,跳过执行. 并将C中断.
3. 串并行组合
A ---->
C ---->
B ---->
F
D ---->E ---->
A,B,D同时启动
A,B都执行完成之后执行C
D执行完成之后执行E
C,E执行完成之后执行F
其中C,E对F都是非必须, 假如C很快执行完成,启动F执行. 此时D接口还在执行, 那么在F启动执行时会设置E为Skipped 跳过执行, 并将D线程中断.
4. 其中WorkHandler可动态拓展
例如 1.可以设置如果A单元执行不成功,则启动B
2.可以设置根据A单元执行结果, 动态的决定后一级单元B,C哪一个执行.
直接拉取
简单的java项目, 可直接打jar包引入你的项目
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )