This page explains how to create a process to assign tasks in bulk. Many of the recommendations follow general Appian best practice on using memory-efficient process models.
Run Process Asynchronously Using Multiple Exec Engines
This is the recommended approach since this method benefits from parallel execution and engine load distribution. The key is to optimize the number of running processes for maximum throughput, without affecting end users or experiencing timeouts. For more information, see ways to start a process.
When creating new processes for tasks, use the Start Process smart service rather than using direct subprocesses.
If the tasks are to be kicked off from a User Input Task or web API, use the a!startProcess() component. When starting multiple tasks this way, the process called should be a wrapper process which handles the individual task kickoff.
If there are more than 1000 tasks to initialize, you will need to batch the tasks into smaller groups. Each group can then be treated the same as already discussed. The below example uses multiple executions of a subprocess to batch the tasks, but this can also be done via a Start Process smart service.
By using the above methods, Appian engines should be able to efficiently balance the load caused by the tasks. However, if you are still encountering problems with performance, consider the following methods: