taskflow
taskflow copied to clipboard
taskflow是一款轻量、简单易用、可灵活扩展的通用任务编排框架,基于有向无环图(DAG)的方式实现,框架提供了组件复用、同步/异步编排、条件判断、分支选择等能力,可以根据不同的业务场景对任意的业务流程进行编排
1:源码 //OP监听器--成功 if (wrapper.getListener(OperatorEventEnum.SUCCESS) != null) { wrapper.getListener(OperatorEventEnum.SUCCESS).forEach(t -> ((OperatorListener)t).onEvent(wrapper, OperatorEventEnum.SUCCESS)); } wrapper.getOperatorResult().setResult(operatorResult); 2:修改后 wrapper.getOperatorResult().setResult(operatorResult); //OP监听器--成功 if (wrapper.getListener(OperatorEventEnum.SUCCESS) != null) { wrapper.getListener(OperatorEventEnum.SUCCESS).forEach(t -> ((OperatorListener)t).onEvent(wrapper, OperatorEventEnum.SUCCESS)); }
循环节点
循环节点应该如何编排?
**我的场景** 希望能从请求参数和前置op获取结果进行参数拼装,然后通过泛化调用rpc来完成服务编排 TaskFlow框架支持的是按照特定的jsonpath获取参数,然后执行代理对象  请问有这种参数映射能力么,把多个jsonpath获取得到的结果组成一个特定的json结构,比如task.ob[].book,然后把这个json作为入参传递给泛化的rpc完成调用
有这样一种场景,  结点2和结点3都依赖结点1的前置结果,目前的解析方式,会把结点的结果解析两次(解析成Json,然后通过jsonpath获取参数)。是否需要把每个结点的jsonpath记录下来,减少解析次数
目前项目打算用来做任务节点得编排 相当于有很多子节点 编排子节点 为业务节点 供上层快速使用 但是有些节点得入参依赖 别的节点得执行结果 目前看示例是基于jsonPath解析入参 反射调用节点方法 但是和 IOperator 基础接口基本没关联 写了一个小demo实现了 不破坏现有IOperator 接口得实现 首先还是依赖原有得addParamFromWrapperId 增加属性paramParseConfig  具体属性如下  在DagEngine 得parseOperatorParam 在做一层解析  反射调用封装参数得方法 我这边采用了mapstruct 做参数封装 反射得化也可以换成别的方法 示例如下 ...
任务通过异步运行,engine如何中断,直接中断线程池? 这样的话,engine 就不会执行 befor、after 等监听了吧
taskflow如何支持动态添加dag,例如通过前端绘制,保存固定的节点,编排工作流,而非硬编码的方式来实现
如题,请问当前引擎,无法多线程并发调用吗? 只能一个请求完成后,再下一次请求。
优化建议 1.简化引擎构建的节点类,可以把operator和wrapper合并成一个类 2.现在对子引擎支持不太好,在节点中执行子引擎会导致父引擎的节点执行结果丢失 其他建议: 1.添加节点并行监听事件