> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # 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’utilisation ```typescript 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ètres **resumeData** (`z.infer`): Données permettant de reprendre l’étape suspendue **step** (`Step | [...Step[], Step] | string | string[]`): Étape(s) à partir desquelles reprendre l’exécution. Peut être une instance Step, un tableau de Steps, une chaîne d’ID d’étape ou un tableau de chaînes d’ID d’étape **requestContext** (`RequestContext`): Données de Request Context à utiliser lors de la reprise **retryCount** (`number`): Nombre de nouvelles tentatives facultatif pour l’exécution d’un Workflow imbriqué **forEachIndex** (`number`): Cible une itération spécifique d’une étape .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** (`TracingContext`): Contexte de traçage pour créer des spans enfants et ajouter des métadonnées. Injecté automatiquement lors de l’utilisation du système de traçage de Mastra. **tracingContext.currentSpan** (`Span`): Span actuel pour créer des spans enfants et ajouter des métadonnées. Utilisez-le pour créer des spans enfants personnalisés ou mettre à jour les attributs du span pendant l’exécution. **tracingOptions** (`TracingOptions`): Options de configuration de Tracing. **tracingOptions.metadata** (`Record`): Métadonnées à ajouter au span racine de la trace. Utile pour ajouter des attributs personnalisés, tels que des ID utilisateur, des ID de session ou des feature flags. **tracingOptions.requestContextKeys** (`string[]`): Clés RequestContext supplémentaires à extraire comme métadonnées pour cette trace. Prend en charge la notation par points pour les valeurs imbriquées (par exemple, 'user.id'). **tracingOptions.traceId** (`string`): ID de trace à utiliser pour cette exécution (1 à 32 caractères hexadécimaux). S’il est fourni, cette trace fera partie de la trace spécifiée. **tracingOptions.parentSpanId** (`string`): ID du span parent à utiliser pour cette exécution (1 à 16 caractères hexadécimaux). S’il est fourni, le span racine sera créé comme enfant de ce span. **tracingOptions.tags** (`string[]`): Tags à appliquer à cette trace. Étiquettes de chaîne pour catégoriser et filtrer les traces. **outputOptions** (`OutputOptions`): Options de configuration de la sortie. **outputOptions.includeState** (`boolean`): Indique si l’état de l’exécution du Workflow doit être inclus dans le résultat. ## Valeurs renvoyées **result** (`Promise>`): Promise qui se résout avec le résultat de l’exécution du Workflow, contenant les sorties des étapes et l’état **traceId** (`string`): ID de trace associé à cette exécution lorsque Tracing est activé. Utilisez-le pour corréler les journaux et déboguer le flux d’exécution. **spanId** (`string`): ID du span racine associé à cette exécution lorsque Tracing est activé. Utilisez-le pour la recherche et la corrélation au niveau du span. ## Exemple d’utilisation avancé ```typescript if (result.status === 'suspended') { const resumedResults = await run.resume({ step: result.suspended[0], resumeData: { value: 'resume data' }, }) } ``` > **Remarque:** 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()`](https://mastra.zisheng.pro/fr/reference/workflows/workflow-methods/foreach) Lorsqu’une étape [`.foreach()`](https://mastra.zisheng.pro/fr/reference/workflows/workflow-methods/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. ```typescript // 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`. ## Voir aussi - [Présentation des Workflows](https://mastra.zisheng.pro/fr/docs/workflows/overview) - [Workflow.createRun()](https://mastra.zisheng.pro/fr/reference/workflows/workflow-methods/create-run) - [Suspendre et reprendre](https://mastra.zisheng.pro/fr/docs/workflows/suspend-and-resume) - [Human in the loop](https://mastra.zisheng.pro/fr/docs/workflows/human-in-the-loop)