The following operations can be executed asynchronously
- Process Instance Migration
- Cancellation of running Process Instances
- Deletion of Historic Process Instances
- Update suspend state of process instances
- Setting retries of jobs associated with Process Instances
- Process Instance Modification
- Process Instance Restart
- Setting retries of external tasks
All batch operations rely on corresponding methods that provide the possibility tooperate on a list of entities synchronously. Please refer to the general Batch documentation tounderstand the creation process better.
Asynchronous operations can be performed based on a list of specific instances as well as on the result of a query providing aresulting list of instances. If both a list of instances and a query are provided, the resulting set of affected instanceswill consist of the union of those two subsets.
Cancellation Of Running Process Instances
Cancellation of running process instances can be performed asynchronously using the following Java API method invocation:
List<String> processInstanceIds = ...;
runtimeService.deleteProcessInstancesAsync(
processInstanceIds, null, REASON);
Deletion Of Historic Process Instances
Deletion of historic process instances can be performed asynchronously using the following Java API method invocation:
List<String> historicProcessInstanceIds = ...;
historyService.deleteHistoricProcessInstancesAsync(
historicProcessInstanceIds, TEST_REASON);
Update Suspend State Of Process Instances
Update the suspension state of multiple process instances asynchronously using the following Java API method invocation:
List<String> processInstanceIds = ...;
runtimeService.updateProcessInstanceSuspensionState().byProcessInstanceIds(
processInstanceIds).suspendAsync();
Setting Retries Of Jobs Associated With Process Instances
Setting retries of jobs associated with process instances can be performed asynchronously using the following Java API method invocation:
List<String> processInstanceIds = ...;
int retries = ...;
managementService.setJobRetriesAsync(
processInstanceIds, null, retries);
Setting Retries Of External Tasks
Setting retries of external tasks can be performed asynchronously using the following Java API method invocation:
List<String> externalTaskIds = ...;
externalTaskService.setRetriesAsync(
externalTaskIds, TEST_REASON);
原文: https://docs.camunda.org/manual/7.9/user-guide/process-engine/batch-operations/