Exécutions
Une exécution est un appel unique à un workflow. Chaque exécution possède un identifiant execution_id unique (généré automatiquement ou spécifié par l'appelant) et progresse à travers une série de statuts au cours de son exécution.
Déclencher une exécution
Vous pouvez démarrer une exécution de workflow depuis votre code client à l'aide du SDK Mistral. L'identifiant workflow_identifier doit correspondre au name que vous avez passé à @workflows.workflow.define(). Si vous ne fournissez pas d'execution_id, la plateforme en génère un automatiquement.
from mistralai.client import Mistral
client = Mistral(api_key="your_key")
execution = client.workflows.execute_workflow(
workflow_identifier="my_workflow",
input={"data": "hello"},
execution_id="my-run-2024-01-15", # optional custom ID
)
print(execution.model_dump_json(indent=2))L'objet execution retourné contient l'execution_id et le status initial (généralement RUNNING). Vous pouvez également déclencher des exécutions depuis Studio, depuis Vibe Work ou via une planification.
Statuts d'exécution
Une exécution commence avec le statut RUNNING, peut passer par des états transitoires et se termine par l'un des états finaux.
États finaux (l'exécution est terminée et ne changera plus de statut) :
COMPLETED: terminée avec succèsFAILED: terminée avec une erreur non géréeCANCELED: arrêtée proprementTERMINATED: arrêtée de forceTIMED_OUT: délai d'exécution dépasséCONTINUED_AS_NEW: historique réinitialisé via continue-as-new (une nouvelle exécution reprend sous un nouvelexecution_id)
État transitoire :
RETRYING_AFTER_ERROR: échouée et planifiée pour une nouvelle tentative ; l'exécution reste dans cet état jusqu'à ce que la nouvelle tentative aboutisse à un état final
Lire l'état d'une exécution
Pour inspecter une exécution après l'avoir déclenchée, récupérez-la par son identifiant :
execution = client.workflows.executions.get_workflow_execution(execution_id="my-run-2024-01-15")
print(execution.status, execution.result)Pour consulter le journal complet des événements, utilisez l'endpoint d'historique (GET /v1/workflows/executions/{execution_id}/history). Pour un suivi en temps réel pendant l'exécution du workflow, voir streaming.
Exécutions et runs
Une exécution est un appel à un workflow avec un execution_id stable qui persiste pendant toute sa durée de vie. Un run est une tentative unique au sein de cette exécution. Dans la plupart des cas, une exécution compte exactement un run. Mais si le workflow est réinitialisé à un point antérieur dans son historique, un nouveau run commence sous le même execution_id.
Un seul run peut être actif à la fois. Les endpoints API (/cancel, /terminate, /signals, /queries, /updates) ciblent toujours le dernier run d'une exécution.