Skip to Content

Workflow.createRun()

.createRun() メソッドは、新しいワークフロー実行インスタンスを初期化します。トラッキング用のユニークな実行IDを生成し、呼び出されたときにワークフローの実行を開始する start 関数を返します。

.createRun().execute() の代わりに使用する理由の一つは、トラッキングやログ記録、.watch() を使った購読のためにユニークな実行IDを取得できることです。

使い方

const { runId, start, watch } = workflow.createRun(); const result = await start();

戻り値

runId:

string
このワークフロー実行を追跡するための一意の識別子

start:

() => Promise<LegacyWorkflowResult>
呼び出すことでワークフローの実行を開始する関数

watch:

(callback: (record: LegacyWorkflowResult) => void) => () => void
ワークフロー実行の各遷移ごとにコールバック関数が呼び出される関数

resume:

({stepId: string, context: Record<string, any>}) => Promise<LegacyWorkflowResult>
指定したステップIDとコンテキストからワークフロー実行を再開する関数

resumeWithEvent:

(eventName: string, data: any) => Promise<LegacyWorkflowResult>
指定したイベント名とデータからワークフロー実行を再開する関数

エラー処理

start 関数は、ワークフローの設定が無効な場合にバリデーションエラーをスローすることがあります。

try { const { runId, start, watch, resume, resumeWithEvent } = workflow.createRun(); await start({ triggerData: data }); } catch (error) { if (error instanceof ValidationError) { // Handle validation errors console.log(error.type); // 'circular_dependency' | 'no_terminal_path' | 'unreachable_step' console.log(error.details); } }

関連