Workflow.createRun()
.createRun()
メソッドは、新しいワークフローの実行インスタンスを初期化します。追跡のための一意の実行IDを生成し、呼び出されるとワークフローの実行を開始するスタート関数を返します。
.createRun()
を.execute()
の代わりに使用する理由の1つは、追跡、ログ記録、または.watch()
を介したサブスクライブのための一意の実行IDを取得することです。
使用方法
const { runId, start, watch } = workflow.createRun();
const result = await start();
戻り値
runId:
string
このワークフローの実行を追跡するための一意の識別子
start:
() => Promise<WorkflowResult>
呼び出されるとワークフローの実行を開始する関数
watch:
(callback: (record: WorkflowResult) => void) => () => void
ワークフロー実行の各遷移時に呼び出されるコールバック関数を受け取る関数
resume:
({stepId: string, context: Record<string, any>}) => Promise<WorkflowResult>
指定されたステップIDとコンテキストからワークフロー実行を再開する関数
resumeWithEvent:
(eventName: string, data: any) => Promise<WorkflowResult>
指定されたイベント名とデータからワークフロー実行を再開する関数
エラー処理
start関数は、ワークフローの設定が無効な場合、バリデーションエラーをスローする可能性があります:
try {
const { runId, start, watch, resume, resumeWithEvent } = workflow.createRun();
await start({ triggerData: data });
} catch (error) {
if (error instanceof ValidationError) {
// バリデーションエラーを処理する
console.log(error.type); // 'circular_dependency' | 'no_terminal_path' | 'unreachable_step'
console.log(error.details);
}
}
関連
- Workflow クラスリファレンス
- Step クラスリファレンス
- 完全な使用方法についてはワークフローの作成の例を参照してください