Un travailleur trop lent peut revenir après qu’un autre a repris sa tâche. S’il suffit de connaître l’identifiant de la tâche pour la terminer, le premier peut confirmer un travail devenu obsolète. Les baux et les tentatives servent précisément à éviter cette confusion.
01
L’identité protège la demande
Une nouvelle soumission ne peut pas remplacer silencieusement une tâche existante. L’identité d’enqueue doit garder son sens.
02
Le bail donne une responsabilité temporaire
Le lease possède son identité et sa durée. La tentative est numérotée ; le travailleur courant en est propriétaire.
03
La confirmation vérifie le présent
L’ack doit correspondre au bail, à la tentative, au propriétaire et à l’état courant. Un ancien travailleur ne peut pas confirmer simplement parce qu’il connaît le task_id.
04
Les effets extérieurs ont leur propre contrat
Une file ne garantit pas à elle seule un paiement ou un envoi une seule fois. L’application consommatrice doit prévoir des effets idempotents ou des reçus adaptés.
tâche A
tentative 1 → bail expiré
tentative 2 → bail courant → confirmation acceptée
confirmation tardive de la tentative 1 → refusEt face aux autres outils ?
Comparaison de périmètres, sans classement de performances. Références éditeurs consultées le 31 octobre 2026.
RabbitMQ
Des systèmes de messagerie disposant de leurs propres mécanismes de livraison et de confirmation. SHAPER Queue se concentre sur les tâches, les tentatives et les baux d’un service.
Documentation de référence ↗NATS JetStream
JetStream ajoute à NATS des flux persistants et des consommateurs avec acquittement. Ce besoin de diffusion de messages est distinct du contrat de tâche SHAPER.
Documentation de référence ↗Sources et références
Les mécanismes sont présentés avec leur périmètre d’utilisation. Leur qualification dans votre environnement reste une étape distincte. Les liens ci-dessous donnent accès aux références publiques disponibles.