Run.resume()
La méthode .resume() reprend une exécution de Workflow suspendue avec de nouvelles données, ce qui permet de poursuivre l’exécution à partir d’une étape spécifique.
Exemple d’utilisationLien direct vers Exemple d’utilisation
const run = await workflow.createRun()
const result = await run.start({ inputData: { value: 'initial data' } })
if (result.status === 'suspended') {
const resumedResults = await run.resume({
resumeData: { value: 'resume data' },
})
}
ParamètresLien direct vers Paramètres
resumeData?:
step?:
requestContext?:
retryCount?:
forEachIndex?:
.foreach() suspendue. Transmettez l’index à base zéro de l’itération à reprendre ; les autres itérations restent suspendues. Omettez ce champ pour reprendre toutes les itérations suspendues de l’étape avec les mêmes resumeData.tracingContext?:
currentSpan?:
tracingOptions?:
metadata?:
requestContextKeys?:
traceId?:
parentSpanId?:
tags?:
outputOptions?:
includeState?:
Valeurs renvoyéesLien direct vers Valeurs renvoyées
result:
traceId?:
spanId?:
Exemple d’utilisation avancéLien direct vers Exemple d’utilisation avancé
if (result.status === 'suspended') {
const resumedResults = await run.resume({
step: result.suspended[0],
resumeData: { value: 'resume data' },
})
}
Lorsqu’une seule étape est suspendue, vous pouvez omettre le paramètre step et le Workflow reprend automatiquement cette étape. Pour les Workflows comportant plusieurs étapes suspendues, vous devez indiquer explicitement l’étape à reprendre.
Reprendre une seule itération de .foreach()Lien direct vers resuming-a-single-foreach-iteration
Lorsqu’une étape .foreach() se suspend sur plusieurs itérations, utilisez forEachIndex (à base zéro) pour reprendre une itération à la fois avec des resumeData différents. Les itérations non ciblées par forEachIndex restent suspendues jusqu’à leur reprise.
// Resume only the second iteration (index 1) with its own data
await run.resume({
step: 'approve',
resumeData: { ok: true },
forEachIndex: 1,
})
// Later, resume the first iteration with different data
await run.resume({
step: 'approve',
resumeData: { ok: false },
forEachIndex: 0,
})
Si forEachIndex est omis, chaque itération suspendue de l’étape reprend avec les mêmes resumeData.