Aller au contenu
English

DurableTaskQueue

import type { DurableTaskQueue } from "@elie-laloum/outpost";
  • closeRequis
    () => void
    Ferme la connexion SQLite de façon synchrone. Jobs et résultats restent dans le fichier pour la prochaine file ouverte dessus.
  • 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.
export interface DurableTaskQueue extends TaskQueue {
  close(): void;
}