如何在Activiti工作流中强制独立实例的任务顺序执行
跨独立工作流实例的脚本任务顺序执行方案求助
业务运行现状
主流程根据绑定资源的属性分支逻辑,通过一个内置脚本任务为同一资源并行触发多个独立的工作流实例。实际运行观测发现,这些被触发的实例内部携带的脚本任务会无差别并行运行,和预期的串行执行逻辑存在偏差。
已验证的无效调整
- 先后切换脚本任务的
Asynchronous异步标记为开启、关闭两种配置状态,调整后所有实例的脚本任务仍然保持并行执行,没有达到预期的效果。
当前临时处理方案
目前在批量触发实例的脚本逻辑中,将sleep()的休眠时长设置为动态变量,根据不同的触发条件匹配差异化的等待值,人为错开每个实例的启动时间。该方案可以基本达成顺序执行的效果,但实现方式粗放,依赖硬编码的时间偏移,不属于可长期维护的最佳实践。
核心诉求
希望获取一套规范、可靠的实现路径,无需依赖硬编码休眠的方式,实现同一资源下触发的多个独立工作流实例中,内部脚本任务可以按预期顺序串行执行,从根源上避免并行运行带来的逻辑冲突。
内容的提问来源于stack exchange,提问作者larry92pl
相关产品推荐
相关产品推荐

