如何通过服务流程进行分批并发处理
服务流程是集成云推出的面向复杂集成场景的低代码服务编排工具,能够把已有的集成对象、集成方案、消息服务、API接口等集成资源,通过流程化设计编排成全新的应用服务,以支持更加复杂的业务场景。
例如基础数据分发到多个系统、数据消费需要从多源取数、基于某个数据参数处理不同的集成过程等等。
为了帮助大家快速掌握服务流程的使用方法,我们推出了系列文章,通过11个典型案例向大家介绍服务流程的高级技巧。
在上期集成服务流程典型案例系列文章中,我们为大家介绍了服务流程的第10个典型案例:如何通过服务流程调用微服务集成。
本期,小编为大家介绍第11个典型案例:如何通过服务流程进行分批并发处理,通过需求场景介绍和分批流程、主业务流程两个小案例进行讲解。
1 需求场景介绍
为了降低服务流程在同步大批量数据时发生OOM的风险,集成云不允许将超过20M的数据一次性加载到服务流程内存中。
因此,服务流程提供了一个解决方案:将大批量数据分批在流程内执行,既能通过服务流程解决繁杂的业务,又可以免除无法在服务流程内运行大数据量的烦恼。
2 服务流程案例详解
2.1 分批流程(实现分批)
本例以集成平台执行日志表作为demo来演示分批效果。
首先,需配置分批流程属性,包括【基本信息】、【流程变量】和【依赖资源】。其中,【流程变量】包括下一批数据的最小ID“min_id(长整数)”、总批数“batch_count(整数)”、当前批主键ID“ids(长整数)”;【依赖资源】中引入数据源“预置当前苍穹(cn)”,主流程“batch_demo(start_flow)”。
具体的配置界面如下图所示:
分批流程属性配置界面
接着,配置分批流程图:根据ids查询数据,将每10条日志作为一批数据,并启动主流程“batch_demo”,如下图所示:
分批流程图
接下来,小编为大家详细介绍每个节点的内容。
节点【查询第一批数据】用于查询数据(每次10条),其中“fstate”为过滤条件,可根据实际情况更改。
【查询第一批数据】脚本示例
节点【启动服务流程】将上一步查询出的ids作为输入参数,启动服务流程“batch_demo”。
【启动服务流程】脚本示例
节点【设置下一批的最小ID并递增批数】准备查询下一批数据,并统计批次数。
【设置下一批最小id并递增批数】脚本示例
节点【查询下一批数据】用于查询下一批数据,并且连接【启动服务流程】节点。只有当ids为空时,流程才会结束。
【查询下一批数据】脚本示例
2.2 主业务流程(根据分批ids处理业务)
主业务流程“batch_demo”根据ids获取每一条数据,分别处理不同业务。
首先,需配置主业务流程属性,包括【基本信息】、【流程变量】和【依赖资源】。其中,【流程变量】包括ID列表“ids(长整数)”、单条ID“id(长整数)”、集成对象数据表“log”和日志列表索引“index(整数)”;【依赖资源】中引入集成对象“T_ISC_DATA_COPY_EXEC_LOG”。
具体的配置界面如下图所示:
主业务流程属性配置界面
接着,配置主业务流程图,根据ids遍历取每一条数据,直到list遍历完成结束。
主业务流程图
接下来,小编为大家详细介绍每个节点的内容。
节点【分别取出每一个id】根据索引取列表的每一条数据。
取值脚本示例
节点【根据id取一条日志】根据过滤条件取每条数据。
【根据id取一条日志】配置示例
节点【索引自加】将累计index,当index等于列表长度时,遍历结束。
【索引自加】脚本示例
3 参考资料
更多关于集成服务云的知识,可参考下述资料:
#往期推荐#
更多精彩内容,“码”上了解!↓
如何通过服务流程进行分批并发处理
本文2024-09-23 00:52:39发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142314.html
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf