> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Run.startAsync() La méthode `.startAsync()` démarre une exécution de Workflow sans attendre sa fin. Elle renvoie immédiatement le `runId`, ce qui permet au Workflow de s’exécuter en arrière-plan. Elle est utile pour les Workflows longs ou les tâches planifiées et évite de bloquer en attendant la fin du Workflow. ## Exemple d’utilisation ```typescript const run = await workflow.createRun() // Fire-and-forget - returns immediately const { runId } = await run.startAsync({ inputData: { value: 'initial data', }, }) // Optionally poll for completion later const result = await workflow.getWorkflowRunExecutionResult(runId) ``` ## Paramètres **inputData** (`z.infer`): Données d’entrée correspondant au schéma d’entrée du Workflow **requestContext** (`RequestContext`): Données de Request Context à utiliser pendant l’exécution du Workflow **initialState** (`z.infer`): État initial à utiliser pour l’exécution du Workflow **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.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. **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. ## Valeur renvoyée **runId** (`string`): Identifiant unique de cette exécution de Workflow. Utilisez-le pour vérifier l’état ou récupérer les résultats ultérieurement. ## Quand utiliser `startAsync()` Utilisez `startAsync()` au lieu de `start()` lorsque : - **Workflows longs** : le Workflow peut nécessiter des minutes ou des heures pour se terminer - **Déclencheurs planifiés ou cron** : vous souhaitez déclencher un Workflow sans bloquer le planificateur - **Éviter les échecs de polling** : avec les Workflows Inngest, `start()` interroge la fin de l’exécution, ce qui peut échouer et provoquer des nouvelles tentatives. `startAsync()` évite ce problème - **Traitement en arrière-plan** : vous souhaitez mettre le travail en file d’attente et traiter les résultats de manière asynchrone ## Vérifier l’état du Workflow Après avoir appelé `startAsync()`, vous pouvez vérifier l’état du Workflow avec : ```typescript // Get the execution result (including step outputs) const result = await workflow.getWorkflowRunExecutionResult(runId) if (result?.status === 'success') { console.log('Workflow completed:', result.steps) } else if (result?.status === 'failed') { console.log('Workflow failed:', result.error) } else if (result?.status === 'running') { console.log('Workflow still running...') } ``` ## Voir aussi - [Run.start()](https://mastra.zisheng.pro/fr/reference/workflows/run-methods/start) : démarrer un Workflow et attendre la fin - [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)