defineQueuedTask
Rôle et comportement
Section intitulée « Rôle et comportement »Définit une tâche de workflow qui envoie un job pour handler, l’interroge jusqu’à sa fin et renvoie decode(result.value), en ajoutant l’usage du job au run. L’identifiant du job dérive de executionId et de la clé de tâche : un run repris attend donc le même job ; un job failed ou cancelled fait échouer la tâche, avec le code quota quand le handler a atteint une limite d’usage. Annuler le workflow annule le job.
Exemple complet et règles détaillées.
Paramètres et propriétés
Section intitulée « Paramètres et propriétés »optionsRequisQueuedTaskOptions<T>Définition de tâche (key, after, retry et les autres options de tâche sauf perform), plus la file, le handler, la fabrique d’entrée, le décodeur, la deadline et l’intervalle d’interrogation.options.retryOptionnelRetry | undefinedPolitique de relance des tentatives échouées ; sans elle, la tâche s’exécute une fois. Une tentative relancée répète ses effets de bord.options.cacheOptionnelTaskCacheOptions | undefinedCache de résultat : une entrée trouvée restaure la valeur JSON sans perte enregistrée, sans tentative, usage ni effet de bord. En cas d’absence, un résultat qui n’est pas du JSON sans perte fait échouer la tâche. Refusé sur les gates, les interactions et les tâches qui renvoient un résultat de dispatch.options.gateOptionnelWorkflowGate | undefinedDéfinition persistée d’approbation ou pause ; son exécution exige un checkpoint et une décision de confiance correspondante.options.keyRequisstringClé unique dans le workflow, conforme à [A-Za-z0-9][A-Za-z0-9._-]*. Les enregistrements, événements et checkpoints identifient la tâche par elle.options.afterOptionnelreadonly Task<unknown>[] | undefinedTâches qui doivent être done avant que celle-ci démarre, aucune par défaut ; seules celles-ci se lisent avec context.value().options.interactionOptionnelTaskInteraction | undefinedContrat optionnel de saisie humaine durable ; exige un checkpoint et ne peut pas être combiné avec une gate.options.conditionOptionnel((context: TaskContext) => boolean | Promise<boolean>) | undefinedÉvaluée avec attempt 0 avant l’exécution de la tâche, y compris quand un start() ultérieur la reprend ; false termine la tâche en skipped, ce qui ignore aussi ses dépendantes.options.timeoutMsOptionnelnumber | undefinedDélai en millisecondes de chaque tentative, entier positif jusqu’à 2147483647. À l’expiration, context.signal est annulé et la tentative échoue ; retry peut la répéter.options.queueRequisTaskQueueFile dans laquelle la tâche envoie son job et l’interroge.options.handlerRequisstringNom du handler de worker qui exécute le job, de 1 à 512 caractères.options.inputRequis(context: TaskContext) => WorkflowJsonConstruit l’entrée JSON du job depuis le contexte de tâche, par exemple les valeurs des dépendances. Appelée à chaque tentative : une valeur différente sous le même identifiant de job est refusée.options.decodeRequis(value: WorkflowJson) => TConvertit la valeur JSON du job en résultat de la tâche ; levez une erreur pour faire échouer la tâche.options.deadlineOptionnelnumber | undefinedDeadline du job en millisecondes epoch ; le job devient cancelled une fois qu’elle est dépassée.options.pollMsOptionnelnumber | undefinedIntervalle entre deux lectures du job en millisecondes, 250 par défaut ; doit être positif.