Retour à la leçon
Mission

Mission : éviter que deux workers ne traitent la même tâche

Construire une file d'attente concurrente sûre avec FOR UPDATE SKIP LOCKED et prévenir un deadlock entre transactions.

Contexte

Plusieurs workers tournent en parallèle et piochent des tâches dans une table jobs(id, statut, worker_id). Sans précaution, deux workers ont déjà récupéré et traité la même tâche en double la semaine dernière. Par ailleurs, deux transactions de virement se sont bloquées mutuellement en environnement de test.