重试功能是否会被支持?
aloneCR opened this issue · 1 comments
aloneCR commented
- 请问这个框架在实际生产中有使用场景么?
- 如果执行引擎中节点执行失败,打算如何处理呢?是全部任务重试,还是单个任务重试?后面是否会考虑加入重试功能?
ytyht226 commented
- 请问这个框架在实际生产中有使用场景么?
- 如果执行引擎中节点执行失败,打算如何处理呢?是全部任务重试,还是单个任务重试?后面是否会考虑加入重试功能?
1、在部门内部多个项目中已经使用了,主要适用的场景如下:
a)通过DAG编排的方式将业务处理流程(编排流程定义)与具体实现(OP执行算子)进行解耦,代码可维护性比较高,通过编排流程定义就可以快速熟悉代码的主要逻辑。
b)在一个大型的项目中,可以划分成不同的模块(算子),各模块由具体负责人进行实现,根据业务处理流程通过DAG编排将各模块进行串联。
c)简化多线程编程难度,比如购物网站的商品详情页会调用很多业务接口,商品SKU信息、商品价格、商品库存信息、促销信息、用户信息、用户评价等等,不同的业务接口之间可能存在调用的依赖关系,整个业务处理过程既有串行也有并行的情况,直接通过编码的方式很难实现比较优雅的代码且不易维护。
d)低代码开发平台底层引擎,业务在迭代过程中可能沉淀了很多可以复用的算子,在新业务接入过程中可以复用已有的算子实现快速接入。
2、目前框架不支持节点失败的重试,主要考虑是:增加节点重试可能会影响整个编排流程的执行时间,如果控制不好很容易引起整个流程的超时,增加这个功能预期效果不一定好。用户可以根据实际的业务逻辑自行在节点内部增加重试,不用依赖引擎提供这个功能。