Camunda 7.15中executeAsync()执行时机、配置及手动触发问题
Camunda 7.15 异步迁移
executeAsync常见问题解答 问题背景说明
你使用executeAsync()触发异步流程迁移后批量任务停滞的核心原因是异步任务依赖Camunda的Job Executor(作业执行器)调度,首先确认你的项目中Job Executor处于开启状态:Spring Boot集成场景下默认开启,可检查配置项camunda.bpm.job-execution.enabled是否为true。如果确认Job Executor开启后act_ru_job表仍无对应记录,可检查迁移任务涉及的流程实例是否存在、是否处于挂起状态。
问题1:配置保证15分钟内执行异步迁移
可以通过配置实现,支持bpm-platform.xml和Spring Boot配置文件两种配置方式:
- bpm-platform.xml配置参考:
<job-executor> <!-- 作业采集最大等待时间,单位毫秒,900000对应15分钟,可根据需求调低 --> <property name="maxWait">900000</property> <!-- 确保作业采集线程正常运行,核心线程数不小于1 --> <property name="corePoolSize">2</property> </job-executor>
- Spring Boot application.yml配置参考(和上述配置效果一致):
camunda: bpm: job-execution: enabled: true max-wait: 900000 core-pool-size: 2
配置说明:作业执行器会按照maxWait设定的间隔轮询待执行的批量任务,只要间隔不超过15分钟,即可保证executeAsync()提交的迁移任务在15分钟内被调度执行。
问题2:Admin Cockpit手动触发批量任务
Camunda 7.15原生支持在Cockpit中手动触发批量任务,操作路径如下:
- 登录Camunda Cockpit,使用拥有
CAMUNDA_ADMIN权限的账号 - 顶部导航栏选择「批量(Batches)」菜单,找到对应的迁移批量任务
- 进入任务详情页,点击页面上的「执行」按钮即可手动强制触发任务执行
内容的提问来源于stack exchange,提问作者firstpostcommenter
相关产品推荐
相关产品推荐

