Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Workflows を可視化する

最終更新 Markdown で表示Agent セットアップ

解析した Workflow コードを、Cloudflare ダッシュボード上の図として表示できます。

図には、順次実行と並列のステップ、条件分岐、ループ、入れ子のロジックが示されます。全体像を見るときはループと条件分岐を折りたたみ、詳細を見るときは展開します。

図の例

Workflow の図は、TypeScript と JavaScript の Workers 向けに、現在ベータです。図を確認するには、Cloudflare ダッシュボード で Workflows を開きます。

ノードの種類

図は、次のノード種類で構成されます。

ノードの種類 説明
StepSleep 指定した時間、Workflow の実行を一時停止します。
StepDo 作業単位を包む、名前付きでリトライ可能なステップを表します。
StepWaitForEvent 外部イベントを受け取るまで実行を中断します。
StepSleepUntil 指定した日時まで Workflow の実行を一時停止します。
LoopNode forwhile など、ロジックのブロックを繰り返すループ構文を表します。
ParallelNode Promise.all() 内など、同時に実行するステップをグループ化します。
TryNode Workflow 内のエラーを扱う try...catch ブロックを表します。
BlockNode 表示のため、一連のステップを論理ブロックにまとめます。
IfNode if/else 式に基づく条件分岐を表します。
SwitchNode 複数のケースへ実行を振り分ける switch 文を表します。
StartNode Workflow または関数定義の入口を示します。
FunctionCall Workflow コード内の名前付き関数の呼び出しを表します。
FunctionDef Workflow 内で使う関数の定義を表します。
BreakNode ループを途中で抜ける break 文を表します。

実行順

各ノードには、実行順を追跡する startsresolves フィールドがあります。これらのインデックスは、すぐに完了しなかった最初の Promise を基準に、その Promise が実行を始めた時点と終わった時点を示します。図では縦方向の位置に対応します(つまり starts: 1 のステップは同じ行に並びます)。

解析時、await していない Promise や Promise.all() の呼び出しには、入場番号が割り当てられ、starts フィールドに保存されます。その Promise に対する await に出会うと、入場番号が加算され、退場番号として resolves に保存されます。これにより、どの Promise が同時に動き、それぞれがほかと比べていつ完了するかが図で分かります。

宣言した時点でステップを await している場合、startsresolves は未定義です。Workflow は、ランタイムから見てステップが現れる順に実行されます。

役に立ちましたか?