Run.resume()
.resume() メソッドは新しいデータを使用して中断された Workflow Run を再開し、特定のステップから実行を続行できるようにします。
使用例使用例への直接リンク
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' },
})
}
パラメーターパラメーターへの直接リンク
resumeData?:
z.infer<TResumeSchema>
中断されたステップを再開するためのデータ
step?:
Step<string, any, any, TResumeSchema, any, TEngineType> | [...Step<string, any, any, any, any, TEngineType>[], Step<string, any, any, TResumeSchema, any, TEngineType>] | string | string[]
実行を再開するステップ。Step インスタンス、Step の配列、ステップ ID の文字列、またはステップ ID の文字列配列を指定できます
requestContext?:
RequestContext
再開時に使用する Request Context データ
retryCount?:
number
ネストされた Workflow の実行に使用する任意の再試行回数
forEachIndex?:
number
中断された
.foreach() ステップの特定の反復を対象にします。再開する反復のゼロベースのインデックスを渡します。それ以外の反復は中断されたままになります。このフィールドを省略すると、そのステップで中断されているすべての反復が同じ resumeData で再開されます。tracingContext?:
TracingContext
子 span の作成と metadata の追加に使用する Tracing context。Mastra の tracing system を使用すると自動的に挿入されます。
currentSpan?:
Span
子 span の作成と metadata の追加に使用する現在の span。実行中にカスタムの子 span を作成したり、span attribute を更新したりするために使用します。
tracingOptions?:
TracingOptions
Tracing 設定のオプション。
metadata?:
Record<string, any>
ルート trace span に追加する metadata。ユーザー ID、セッション ID、feature flag などのカスタム属性を追加する場合に役立ちます。
requestContextKeys?:
string[]
この trace の metadata として抽出する追加の RequestContext キー。ネストされた値にはドット記法(例: 'user.id')を使用できます。
traceId?:
string
この実行に使用する trace ID(1〜32 文字の 16 進数)。指定すると、この trace は指定した trace の一部になります。
parentSpanId?:
string
この実行に使用する親 span ID(1〜16 文字の 16 進数)。指定すると、ルート span はこの span の子として作成されます。
tags?:
string[]
この trace に適用する tag。trace の分類とフィルタリングに使用する文字列ラベルです。
outputOptions?:
OutputOptions
出力設定のオプション。
includeState?:
boolean
結果に Workflow Run の状態を含めるかどうか。
戻り値戻り値への直接リンク
result:
Promise<WorkflowResult<TState, TOutput, TSteps>>
ステップの出力とステータスを含む Workflow の実行結果で解決される Promise
traceId?:
string
Tracing が有効な場合に、この実行に関連付けられる trace ID。ログの関連付けや実行フローのデバッグに使用します。
spanId?:
string
Tracing が有効な場合に、この実行に関連付けられるルート span ID。span 単位の検索と関連付けに使用します。
その他の使用例その他の使用例への直接リンク
if (result.status === 'suspended') {
const resumedResults = await run.resume({
step: result.suspended[0],
resumeData: { value: 'resume data' },
})
}
注記
中断されているステップが 1 つだけの場合は、step パラメーターを省略すると、Workflow がそのステップを自動的に再開します。複数のステップが中断されている Workflow では、再開するステップを明示的に指定する必要があります。
.foreach() の単一の反復を再開するresuming-a-single-foreach-iterationへの直接リンク
.foreach() ステップが複数の反復にわたって中断されている場合は、forEachIndex(ゼロベース)を使用し、反復ごとに異なる resumeData で 1 つずつ再開します。forEachIndex の対象でない反復は、再開されるまで中断されたままになります。
// 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,
})
forEachIndex を省略すると、そのステップで中断されているすべての反復が同じ resumeData で再開されます。