Aller au contenu
English

QueueJob

import type { QueueJob } from "@elie-laloum/outpost";
  • statusRequis
    "failed" | "done" | "cancelled" | "active" | "pending"
    pending avant la prise en charge, active pendant le bail, puis done, failed ou cancelled. La file ne relance jamais un job failed.
  • fenceRequis
    number
    Génération du bail : 0 à l’envoi, incrémentée à chaque prise en charge, annulation et expiration de deadline. renew() et complete() doivent présenter la valeur courante.
  • workerOptionnel
    string | undefined
    Nom du dernier worker ayant pris le job en charge.
  • expiresOptionnel
    number | undefined
    Expiration du bail en millisecondes epoch ; une fois passée, un autre worker peut prendre le job en charge.
  • resultOptionnel
    QueueResult | undefined
    Résultat enregistré par complete(), présent dès que le job est done ou failed.
  • idRequis
    string
    Identifiant du job, de 1 à 512 caractères et unique dans la file ; le renvoyer rend le job stocké.
  • idempotencyKeyOptionnel
    string | undefined
    Clé d’effet transmise au handler à la place de l’identifiant du job ; defineQueuedTask y place la clé d’origine lorsqu’une pause sur quota republie la tâche sous un nouvel identifiant.
  • handlerRequis
    string
    Nom du handler de worker qui exécute le job, de 1 à 512 caractères.
  • inputRequis
    WorkflowJson
    Entrée JSON transmise au handler, 262144 octets au plus une fois sérialisée.
  • deadlineOptionnel
    number | undefined
    Instant en millisecondes epoch après lequel un job pending ou active devient cancelled ; les baux ne le dépassent jamais.
export interface QueueJob extends QueueRequest {
  readonly status: "pending" | "active" | "done" | "failed" | "cancelled";
  readonly fence: number;
  readonly worker?: string;
  readonly expires?: number;
  readonly result?: QueueResult;
}