如何在PAF中并行执行多个活动?PAF是否支持多活动并行运行?
PAF 并行活动执行问题解答
以下回答基于标准开源 Process Automation Framework(PAF) v2.3+ 版本特性,厂商定制版 PAF 实现可能存在差异,可参考对应版本官方文档确认。
1. PAF 是否支持「并行」模式执行多个活动
支持。PAF 核心调度器原生内置并行执行能力,无需额外接入第三方组件即可实现多个无依赖关系的活动同时运行。
2. 如何在 PAF 中并行执行多个活动
具体实现步骤如下:
- 提前梳理活动依赖:确认需要并行的多个活动没有数据读写、执行顺序的前置依赖,存在依赖的活动建议放在串行节点中执行,避免出现脏数据、执行异常问题
- 在流程定义文件中声明并行节点:将需要并行执行的活动统一放到
parallel类型的节点下配置,可根据需求自定义最大并发数、异常处理策略,示例配置如下:
# PAF 流程定义yaml示例 process: process_id: "parallel_demo_001" nodes: # 前置串行校验节点 - node_id: "pre_validate" node_type: "single" activity_ref: "param_validate_activity" # 并行执行节点组 - node_id: "parallel_task_group" node_type: "parallel" max_concurrency: 3 # 自定义最大并行数,不填默认取全局配置的默认并行阈值 fail_strategy: "ALL_SUCCESS" # 异常策略可选值:ALL_SUCCESS/ANY_SUCCESS/IGNORE_FAIL activity_list: - "data_sync_activity" - "report_gen_activity" - "notify_push_activity" # 后置串行结果处理节点 - node_id: "result_merge" node_type: "single" activity_ref: "exec_result_merge_activity"
- 发布流程即可生效:
parallel节点默认会等待组内所有活动执行完成后再流转到下一个节点,不需要额外配置等待逻辑
注意事项
低版本 PAF(<v2.0)未内置并行调度能力,需要自行封装异步任务调度逻辑实现,建议升级到最新稳定版本使用原生并行能力。
内容的提问来源于stack exchange,提问作者Meghana
相关产品推荐
相关产品推荐

