ルート
サーバーは一連のget および post メソッドを定義しており、これらは server.py 内の @routes を検索することで確認できます。Web クライアントでワークフローを送信すると、それは /prompt エンドポイントに POST され、プロンプトの検証を行って実行キューに追加します。検証に成功すれば prompt_id と number(キュー内の位置)を返し、失敗すれば error と node_errors を返します。プロンプトキューは execution.py で定義されており、そこでは PromptExecutor クラスも定義されています。
組み込みルート
server.py は以下のルートを定義します:
コア API ルート
WebSocket 通信
/ws エンドポイントは、クライアントとサーバー間のリアルタイム双方向通信を提供します。これは以下のために使用されます:
- 実行進捗の更新を受信
- ノード実行状態をリアルタイムで取得
- エラーメッセージとデバッグ情報を受信
- キュー状態が変更された際のライブ更新
status- 全体のシステム状態更新execution_start- プロンプト実行開始時execution_cached- キャッシュされた結果が使用された場合executing- ノード実行中の更新progress- 長時間実行される操作の進捗更新executed- ノードの実行完了時
カスタムルート
実行中にクライアントからサーバーへメッセージを送信したい場合は、サーバーにカスタムルートを追加する必要があります。 複雑な場合は aiohttp フレームワークドキュメント を詳しく調べる必要がありますが、ほとんどの場合は以下のように処理できます:FormData オブジェクトを送信することでこの新しいルートを使用できます。
これにより、上記コードの the_data には message および node_id キーが含まれることになります: