Cloudflare Workflows
裏はDOなのでこれは前提
とりあえずTemplateがあるっぽいので見る
- 1Workerに対して複数Workflowを含められる(Classで識別)
ワークフロー内の各ステップ
- 独立して再試行可能(最大リトライ回数、遅延、バックオフアルゴリズム)
- ステップ間の順序関係を持たせられる
API
別スクリプトからのWorkflowの呼び出し
トリガーする方法
fetch handlerから使用する方法
QueueのConsumer(Queue Handler)
Cron Trigeer(Schedule Handelr)
Durable Objectの中から
SleepとRetry
Sleepされたワークフローインスタンスで再開されたワークフローは新たにスケジュールされたインスタンスよりも優先される
相対時間でsleep
特定の日付までスリープさせる
Retryはstep.doのConfigに含める
強制的にWorkflowを終了させるNonRetryableError
ワークフローはtry catchで例外を捕捉できる
捕捉しない場合は、Errored状態でワークフローを終了する
Paramerterをワークフローを渡す(SON-serializable object)
Local Develop
ステップの冪等性の担保
ステップは自己完結的であるべき
決定論的にステップ名をつける
WorkflowのインスタンスIDはユニークである
Service Bindingsから呼び出す(pages functinonの例)
Price
Workers同様CPU時間とリクエスト数による課金
sleepの時はCPU時間を消費しない
Limit
用語