Una Race Condition si verifica quando due (o più) aggiornamenti avvengono contemporaneamente (nello stesso secondo). Le due modifiche si "contendono" l'esecuzione e potrebbero avvenire in un ordine diverso da quello previsto, oppure una potrebbe segnalare di essere stata eseguita senza che lo sia stata realmente.
- Aprire l'esecuzione esatta tramite il deep link del messaggio
- Esempio di Race Condition: Tag aggiunto nei log ma non applicato
- Come prevenire una Race Condition
Aprire l'esecuzione esatta tramite il deep link del messaggio
Aprire l'esecuzione direttamente dal messaggio interessato assicura di analizzare la corsa, il contatto e il timestamp corretti prima di diagnosticare problemi di temporizzazione.
Passaggi:
Vai su Conversazioni (Conversations) e apri la conversazione con il messaggio interessato.
Apri i dettagli del messaggio.
Clicca su Workflow (deep link) per aprire i Dettagli esecuzione con il contesto caricato.
Esamina i timestamp e l'ordine delle azioni per verificare se più azioni sono scattate nello stesso secondo.
Alternativa:
Se il link al Workflow non è disponibile nei dettagli del messaggio, apri l'esecuzione dai log:
Workflow → apri il workflow → Log, quindi filtra/cerca per contatto e la finestra temporale relativa al messaggio.
Esempio di Race Condition: Tag aggiunto nei log ma non applicato
In questo esempio, possiamo vedere che il Tag risulta aggiunto correttamente al contatto nei log di esecuzione del Workflow.
Tuttavia, quando controlliamo la scheda del contatto, non c'è traccia del Tag.

Torniamo al log di esecuzione e prestiamo attenzione al tempo. L'azione "Aggiungi al workflow" e l'azione "Aggiungi Tag" sono scattate contemporaneamente, nello stesso secondo esatto: questa è una race condition.

Come prevenire una Race Condition
Per risolvere la race condition, è sufficiente aggiungere un'azione di Attesa di 1 minuto.
https://www.loom.com/share/f4adf9e14dab429da0cc2fedbb7e5e36

Con un'azione Attesa di 1 minuto, non vi è alcuna possibilità che si verifichi la race condition.

