Skip to Content

run.resume()

.resume() メソッドは、一時停止されたワークフローステップの実行を再開し、オプションで新しいコンテキストデータを提供できます。このデータは、そのステップの inputData プロパティからアクセス可能です。

使用方法

await run.resume({ runId: "abc-123", stepId: "stepTwo", context: { secondValue: 100, }, });

パラメーター

config:

object
ワークフローの再開用設定

config

runId:

string
再開するワークフロー実行の一意な識別子

stepId:

string
再開する一時停止中のステップのID

context?:

Record<string, any>
ステップのinputDataプロパティに注入する新しいコンテキストデータ

戻り値

Promise<LegacyWorkflowResult>:

object
再開されたワークフロー実行の結果

Async/Awaitのフロー

ワークフローが再開されると、実行はステップの実行関数内で suspend() 呼び出しの直後のポイントから続行されます。これにより、コード内で自然なフローが生まれます。

// Step definition with suspend point const reviewStep = new LegacyStep({ id: "review", execute: async ({ context, suspend }) => { // First part of execution const initialAnalysis = analyzeData(context.inputData.data); if (initialAnalysis.needsReview) { // Suspend execution here await suspend({ analysis: initialAnalysis }); // This code runs after resume() is called // context.inputData now contains any data provided during resume return { reviewedData: enhanceWithFeedback( initialAnalysis, context.inputData.feedback, ), }; } return { reviewedData: initialAnalysis }; }, }); const { runId, resume, start } = workflow.createRun(); await start({ inputData: { data: "some data", }, }); // Later, resume the workflow const result = await resume({ runId: "workflow-123", stepId: "review", context: { // This data will be available in `context.inputData` feedback: "Looks good, but improve section 3", }, });

実行フロー

  1. ワークフローは review ステップ内の await suspend() に到達するまで実行されます
  2. ワークフローの状態が保存され、実行が一時停止します
  3. 後で、新しいコンテキストデータとともに run.resume() が呼び出されます
  4. 実行は review ステップ内の suspend() の直後のポイントから続行されます
  5. 新しいコンテキストデータ(feedback)が inputData プロパティでステップに渡されます
  6. ステップが完了し、その結果を返します
  7. ワークフローは次のステップへと続行します

エラー処理

resume関数は、いくつかの種類のエラーをスローする可能性があります。

try { await run.resume({ runId, stepId: "stepTwo", context: newData, }); } catch (error) { if (error.message === "No snapshot found for workflow run") { // Handle missing workflow state } if (error.message === "Failed to parse workflow snapshot") { // Handle corrupted workflow state } }

関連