コンテンツにスキップ

ワークフローの実行 (Running Workflows)

このページでは、ワークフローを構築した後に実際に実行する際の一連の操作について解説します:実行の開始、停止、実行中のキャンバス上の状態把握、実行後のログやエラー履歴の確認、および作業内容の保存方法を網羅しています。


ワークフロー全体の実行

ヘッダー中央にある Run Workflow(ワークフローを実行)ボタンを押すと、現在のワークフロー内のすべてのノードが最初から実行されます。ワークフローがすでに実行中である場合や、ワークフローが開かれていない場合は無効化されます。

ショートカット アクション
Shift + Cmd/Ctrl + Return ワークフロー全体を実行 (Run Workflow)

単一ノードの実行

Run Workflow ボタンの隣にある 2 つのボタンを使用すると、グラフ全体ではなく一部のみを実行できます。これらのボタンを使用するには、ノードがちょうど 1 つだけ選択されている必要があります。ワークフローがすでに実行中の場合、Run From Selected は無効になりますが、Run To Selected は無効になりません(後述の 実行中のノード追加実行 を参照)。

  • Run To Selected(選択ノードまで実行): 選択したノードと、その上流にある未解決(未実行)のすべてのノードを実行し、下流のノードには一切手を付けません。これは開発時における最も一般的な検証方法です:パラメータを変更し、確認したいノードまで実行して結果を確認します。
  • Run From Selected(選択ノードから実行): 選択したノードから実行を開始し、Run Workflow と同様にそこから下流のフローを実行します。途中のノードから処理を再開したい場合に使用します。
ショートカット アクション
Cmd/Ctrl + Return 選択ノードまで実行 (Run To Selected)

Run From Selected にはキーボードショートカットがないため、ヘッダーのボタンを使用してください。ボタンとは異なり、Cmd/Ctrl + Return ショートカットは複数のノードを選択した状態でも動作し、選択されたそれぞれのノードまで実行されます。

両方の単一ノード実行アクションは、ノードの右クリックコンテキストメニューや、マルチノードツールバー(該当する場合)からも利用できます。


実行中のノード追加実行

特定のノードを試すために、実行全体の完了を待つ必要はありません。Run To Selected はワークフローが実行中であっても利用可能な状態が維持され、新しい実行を開始するのではなく、現在進行中の実行プロセスにそのノードを追加します。そのノードの上流にある未解決のノードもすべて同じ実行プロセスに取り込まれ、最初から実行した場合と同様に先に解決されます。

追加したノードが実際に処理を開始するタイミングは、現在の実行がどの程度進行しているかによって異なります:

  • Parallel(並列)実行モードの場合、実行スロットに空きができ次第すぐに開始されます(即座に開始される場合もあります)。一度に実行できるノードの最大数は max_nodes_in_parallel 設定(デフォルトは 5)で制御されます。
  • Sequential(順次)実行モードの場合、一度に 1 つのノードのみが実行されるため、現在実行中のノードの処理が完了した後に、追加したノードの処理が開始されます。

両方の実行モードの詳細は エンジン設定 で説明されています。

注意すべき 2 つのケース:

  • 実行が一時停止中の場合、ノードは実行キューに追加されますが、開始はされません。ステップ実行するか実行を再開した際に処理されます。
  • ノードがすでに現在の実行に含まれている場合(すでに完了している、現在実行中である、または依存関係の完了待ちである場合)、二重実行は拒否され、エディタはノードがすでに実行中であることを通知します。最初からやり直したい場合は、一度実行をキャンセルしてください。

Run Workflow および Run From Selected は、ワークフローがアイドル状態であることを要求するため、現在の実行が終了するまで無効化されたままとなります。


実行の停止

ワークフローが実行されている間、ヘッダーの実行ボタン領域には実行ボタンの代わりに Cancel Run(実行をキャンセル)が表示されます。これをクリックすると、進行中の実行がキャンセルされます。キャンセルのリクエストが処理されている間、ボタンは Cancelling… と表示されます。

実行のキャンセルは、Cannot Save While Flow is Running(フロー実行中は保存できません)ダイアログを閉じる際にも使用します(後述の 保存 を参照)。このダイアログには、同様のキャンセル処理を行う Cancel Flow ボタンが用意されています。


キャンバス上の実行状態の把握

各ノードは、現在の実行に関与している間、ヘッダーにステータスピル(状態バッジ)を表示します:

ピル 意味
Running(オレンジ、回転) ノードが現在アクティブに処理を実行中です。
Resolved(緑) ノードの処理が正常に完了しました。
Error(赤) ノードの処理が失敗しました。ピルにホバーするとエラーメッセージが表示されます。
Unresolved(青) 今回のパスでノードがまだ実行されていません。

ノード名の隣に表示される小さなアスタリスク(*)も、現在の実行に含まれているかどうかに関係なく、そのノードが未解決(未実行)であることを示します。実行が終了した後も、エラーが発生したノードは赤い Error ピルを保持し続けるため、どのノードが失敗したかを記憶していなくても、エラー箇所を簡単に見つけてメッセージを確認できます。


Logs(ログ)パネル

右サイドバーの Execution Log パネルには、ワークフローの実行中にエンジンが出力したすべてのログ(エンジンメッセージおよびノード自体が出力したログ。利用可能な場合はノード名がタグ付けされます)が集約されます。

パネルから実行できる操作:

  • Log Level Visibility — エンジンのロギング詳細度(DEBUG、INFO、WARNING、ERROR、CRITICAL)を設定するドロップダウン。これは表示内容だけでなく、そもそも何がログとして記録されるかを変更します。
  • Filter — 現在の詳細度以上のレベルを表示/非表示にするトグル列。エンジンの詳細度を変更することなく、パネル内の表示を絞り込むことができます。
  • Download(ダウンロードアイコン) — 現在フィルタリングされているログをタイムスタンプ付きの .txt ファイルとして保存します。
  • Clear(消しゴムアイコン) — ログリストをクリアします。
  • 設定(歯車)アイコン — Log Settings を開き、パネルがメモリ内に保持するログエントリの最大数を変更できます。

新しいログが届くと、パネルは自動的に最新のエントリまでスクロールします。


エラー履歴 (Error History)

ヘッダーには、個々の実行から独立した Error History ボタン(件数バッジ付きの三角/丸アイコン)も配置されています。これは、現在実行中のワークフローだけでなく、セッション全体で発生したエラーやパーミッション拒否の履歴を蓄積します。

クリックすると、各エラーの発生時間と発生元を一覧表示するドロップダウンが開きます。エントリをクリックすると、モーダルで完全なエラー詳細を確認できます。Clear All でリスト全体を消去し、各エントリの隣にある小さな × で特定のエントリのみを削除できます。


保存 (Saving)

ヘッダーのワークフロー名には、グラフを編集した場合や、ディスクに一度も保存されていない場合に、未保存の変更を示すアスタリスク(*)が表示されます。

  • Save(上書き保存、Cmd/Ctrl + S): 現在のファイルを上書き保存します。一度も保存されていないワークフローの場合は Save Workflow ダイアログが開き、名前を指定できます。
  • Save As...(名前を付けて保存、Cmd/Ctrl + Shift + S): Save Workflow As… ダイアログを開き、指定した名前で新しい独立したコピーを作成します。Griptape 提供のテンプレートは常に Save As 経由となり、テンプレート自体を上書きすることはできません。
  • Save As New Version(新しいバージョンとして保存、Option/Alt + Shift + S、バージョン管理保存をサポートするエンジンのみ): 現在の状態を新しいバージョン管理ファイル(my_workflow_v002.py など)として書き出し、その新しいバージョンにエディタを切り替えます。以前のバージョンはディスク上にそのまま残されます。

ワークフローが実行されている間は、これら 3 つの保存アクションはすべてブロックされます。保存を試みると Cannot Save While Flow is Running ダイアログが表示され、先に実行をキャンセルするか完了を待つ必要がある旨が説明されます。ダイアログ内から直接フローをキャンセルできるショートカットボタンも用意されています。

保存の処理中には、画面下部に Saving workflow… のオーバーレイが一瞬表示されます。

自動保存 (Auto-save)

Settings → Editor Settings → Auto-Save Settings で自動保存を有効にすると、Cmd/Ctrl+S を手動で押す手間を省くことができます。有効にすると、以下を設定できます:

  • Auto-Save Interval (seconds) — エディタが自動保存を試みる間隔(秒)。
  • Auto-Save Notifications — 自動保存の実行時にトースト通知で確認を表示するかどうか。

自動保存は、ディスク上にすでにファイルが存在し、未保存の変更があるワークフローが開かれている場合にのみトリガーされます。また、ワークフローが実行されている間は保存試行が完全にスキップされます。手動保存をブロックする実行中ガードと同じ仕組みがここでも適用されますが、ダイアログを表示する代わりに静かにスキップされます。


開発者モード (Developer Mode)

Settings → Editor Settings → Developer Mode を有効にすると、ノードが成功したかどうかだけでなく、エンジンがなぜワークフローをそのように評価しているのかを理解するための追加機能が有効になります。

有効にすると、すべてのノードに折りたたみ可能な Developer Mode ストリップが追加され、上流のデータ依存関係(制御フローのみの接続ではなく、実際にそのノードへデータを供給しているノード)が一覧表示されます。各依存関係は固有の解決状態アイコン(✓ 解決済み、↻ 解決中、✗ エラー、○ 未解決)とともに表示されます。依存関係チップをクリックするとキャンバスがそのノードへパンするため、大規模なグラフで古い値の発生元を追跡する際に役立ちます。

また、Developer Mode を有効にすると、ノードの右クリックメニューに Mark as unresolved(未解決としてマーク)アクションが追加されます。これを使用すると、ノード自体を一切変更することなく、そのノードと下流のすべてのノードを強制的に未解決状態に戻すことができます。入力値が実際には変化していない場合でも、次回の Run Workflow または Run To Selected でエンジンに強制的に再実行させたい場合に最も素早い方法です(例えば、ディスク上のファイルなど、ノードが依存している外部リソースを修正した後などに便利です)。