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);
}
}
関連
- Workflow クラスリファレンス
- Step クラスリファレンス
- 完全な使用例については、ワークフローの作成の例をご覧ください