closeRequis
() => Promise<void>
Refuse les nouvelles opérations, attend celles en cours, puis ferme les connexions Redis de la file ; un second appel renvoie la même promesse. Arrêtez et attendez runQueueWorker() avant ; jobs, fences et résultats restent dans Redis.
enqueueRequis
(request: QueueRequest) => Promise<QueueJob>
Enregistre un job pending, ou renvoie le job stocké, quel que soit son statut, quand l’identifiant porte déjà une requête identique. Une requête différente sous un identifiant existant est refusée.
getRequis
(id: string) => Promise<QueueJob | undefined>
Renvoie le job d’un identifiant, ou undefined s’il est absent ; un job dont la deadline est dépassée revient cancelled.
claimRequis
(request: QueueClaim) => Promise<QueueJob | undefined>
Prend un job pending, ou un job active dont le bail a expiré, pour l’un des handlers listés ; incrémente son fence et ouvre un bail. Renvoie undefined quand aucun job n’est éligible.
renewRequis
(lease: QueueLease, leaseMs: number) => Promise<QueueJob>
Prolonge le bail de leaseMs, sans dépasser la deadline du job. Rejette avec Stale queue lease quand le worker, le fence ou l’expiration du bail ne correspondent plus.
completeRequis
(lease: QueueLease, result: QueueResult) => Promise<QueueJob>
Enregistre le résultat et marque le job done, ou failed quand result.error est renseigné. Rejette avec Stale queue lease si le bail n’est plus courant.
cancelRequis
(id: string, fence: number) => Promise<QueueJob>
Annule un job pending ou active et incrémente son fence ; un job terminé est renvoyé inchangé. Rejette avec Stale queue fence quand fence diffère du fence courant du job.