# 以编程方式运行工作流 学习如何从代码执行您的工作流,这对于将它们集成到应用程序中至关重要。 ## 创建工作流运行器 创建一个新文件来测试程序化执行: ```typescript // src/run-workflow.ts import { mastra } from "./mastra"; async function runContentWorkflow() { console.log("🚀 Running workflow programmatically...\n"); try { // Get the workflow instance const workflow = mastra.getWorkflow("contentWorkflow"); if (!workflow) { throw new Error("Workflow not found"); } // Create a run instance const run = await workflow.createRun(); // Execute with test data const result = await run.start({ inputData: { content: "Climate change is one of the most pressing challenges of our time, requiring immediate action from governments, businesses, and individuals worldwide.", type: "blog", }, }); if (result.status === "success") { console.log("✅ Success!"); console.log( "📊 Reading time:", result.result.metadata.readingTime, "minutes", ); console.log("🎯 Difficulty:", result.result.metadata.difficulty); console.log("📅 Processed at:", result.result.metadata.processedAt); } } catch (error) { console.error("❌ Error:", (error as Error).message); } } // Run the workflow runContentWorkflow(); ``` ## 运行代码 执行您的工作流运行器: ```bash npx tsx src/run-workflow.ts ``` ## 关键方法 - **`mastra.getWorkflow(id)`**:按ID获取注册的工作流 - **`workflow.createRun()`**:创建新的执行实例 - **`run.start(inputData)`**:使用提供的数据执行工作流 ## 返回值 `start()` 方法返回: - **`success`**:表示工作流是否成功完成的布尔值 - **`result`**:工作流的最终输出 - **`executionTime`**:工作流运行所需的时间 您的工作流现在可以从应用程序中的任何位置运行!接下来,您将了解错误处理。