IBM BPM, V8.0.1, All platforms > Tuning > Advanced tuning > Business Process Choreographer tuning > Tuning BPEL processes > Tuning BPEL processes that contain human tasks
Reduce concurrent access to human tasks
When two or more people try to claim the same human task, only one person will succeed. The other person is denied access.
Only one person can claim a human task. If several people attempt to work with the same human task at the same time, the probability of collision increases. Collisions cause delays, because of lock waits on the database or rollbacks. Some ways to avoid or reduce the incidence of collision are as follows:
- If concurrent access is high, limit the number of users who can access a particular human task.
- Avoid unnecessary human task queries from clients, by using intelligent claim mechanisms.
For example, you might take one of the following steps:
- Try to claim another item from the list if the first claim is unsuccessful.
- Always claim a random human task.
- Reduce the number of potential owners for the task, for example, by assigning the task to a group with fewer members.
- Limit the size of the task list by specifying a threshold on the query used to retrieve the list. Also consider using filtering to limit the number of hits. You can filter for properties of a task, for example, only showing tasks with priority one or tasks that are due within 24 hours from now. For an inline task, you can also filter for business data that is associated with the task using custom properties or query properties. To perform such filtering, you must specify an appropriate WHERE clause on the query that retrieves the task list.
- Minimize or avoid dynamic people queries, that is, ones that use replacement variables.
- Use a client caching mechanism for human task queries, to avoid running several queries at the same time.
Tuning BPEL processes that contain human tasks
Related concepts:
Replacement expressions and context variables