Skip to main content
ここで紹介する例では、CWSANDBOX_API_KEY に設定した CoreWeave API アクセストークンを使用します。Forge の APIキーによる認証については、はじめにを参照してください。CKS の要件については、配置モードを参照してください。 このガイドでは、Session を使用して共通の設定を持つ複数のサンドボックスを管理する方法を説明します。サンドボックスのグループを連携させ、共通のデフォルトを適用し、ワークロード全体で一貫したクリーンアップを確実に行う必要があるクライアント開発者向けです。

Session の概要

Session は以下を提供します:
  • すべてのサンドボックスに対する共有デフォルト設定。
  • セッションが閉じられたときの自動クリーンアップ。
  • @session.function() デコレータのスコープ。

基本的な使い方

サンドボックスを作成する

以下のセクションでは、セッションを使用してサンドボックスを作成する方法と、セッションのデフォルトを上書きする方法について説明します。

session.sandbox()

セッションのデフォルトを使用してサンドボックスを作成します。サンドボックスは初回使用時まで開始されません。
起動 RPC がいつ発火するかを明示的に制御する場合:

デフォルトを上書きする

追加の引数を渡して、セッションのデフォルトを上書きします。
利用可能なすべてのオプションについては、サンドボックスの設定ガイドを参照してください。

複数のサンドボックスの管理

セッションは、サンドボックスプールの管理に適しています。
リクエストが届く前にサンドボックスを準備しておくには、 ウォームプールを実装するを参照してください。 このレシピでは、準備完了状態のサンドボックスをバッファとして確保し、ワークロードごとに個別の サンドボックスを割り当て、ワークロードがサンドボックスを取得するたびにバッファを補充します。

セッションのライフサイクル

以下のセクションでは、セッションを閉じる方法、close() の動作、およびエラーの処理方法について説明します。

手動で閉じる

コンテキストマネージャーを使用しない場合は、セッションを明示的に閉じてください:

close() の動作

close() を呼び出すと、次の処理が実行されます。
  1. セッションを通じて作成された、またはセッションに取り込まれたすべてのサンドボックスを停止します。
  2. クリーンアップが完了するまで待機します。
  3. OperationRef[None] を返します。

エラー処理

例外が発生した場合でも、セッションはクリーンアップされます。

外部のサンドボックスを取り込む

セッション外で作成されたサンドボックスをセッションの管理下に取り込みます。

Session のプロパティ

sandbox_count などの組み込みプロパティを使用して、セッションの状態を確認できます。

セッションを使用する場面

セッションを使用しない場合

サンドボックスを 1 つだけ使用する場合、セッションは不要です:
最終更新日 2026年10月15日