Quando due o più persone tentano di richiedere la stessa human task, solo una riesce a disporne. All'altra persona viene negato l'accesso.
Solo una persona può richiedere una human task. Se diverse persone tentano di utilizzare con la stessa human task contemporaneamente, aumenta la probabilità di collisione.
Le collisioni causano ritardi, poiché il blocco è in attesa nel database o esegue il rollback.
Alcuni modi per evitare o ridurre l'incidenza di collisione sono i seguenti:
- Se l'accesso contemporaneo è elevato, limitare il numero di utenti che possono accedere a una human task.
- Evitare query di human task non necessarie da parte dei client, utilizzando meccanismi di richiesta intelligenti. Ad esempio, è possibile effettuare uno dei passi seguenti:
- Cercare di richiedere un altro elemento dall'elenco se la prima richiesta non è riuscita.
- Richiedere sempre una huma task.
- Ridurre il numero di potenziali proprietari dell'attività, ad esempio assegnando l'attività a un gruppo con un numero minore di membri.
- Limitare le dimensioni dell'elenco di attività specificando una soglia sulla query utilizzata per richiamare l'elenco. Prendere, inoltre, in considerazione l'utilizzo di filtri per limitare il numero di accessi. È possibile filtrare proprietà di un'attività, ad esempio visualizzando solo le attività con priorità uno o attività che scadono dopo 24 ore. Per un'attività in linea, è possibile anche filtrare i dati aziendali associati all'attività utilizzando proprietà query o proprietà personalizzate.
Per effettuare tale filtraggio è necessario specificare una clausola where appropriata nella query che richiama l'elenco attività.
- Ridurre al minimo o evitare query staff dinamiche, quelle cioè che utilizzano variabili.
- Utilizzare un meccanismo di memorizzazione in cache del client per query di human task per evitare l'esecuzione contemporanea di diverse query.