アイドルタイムアウトは、サンドボックス作成時に
metadata フィールドで設定します。キーは idle_timeout で、値は秒数(文字列)です。基本的な使い方
サンドボックスを作成するときに、metadata オブジェクト内で idle_timeout キーを渡します。値はアイドルタイムアウトの期間を 秒 で表したもの(文字列)です。指定した期間、サンドボックスにクライアントが接続されていない場合、サンドボックスは自動的に kill または一時停止されます。
アイドルタイムアウトの仕組み
アイドルタイムアウト機能は、サンドボックスへのアクティブな接続を監視します。- アクティブな接続がない場合 — サンドボックスの終了時刻が
current_time + idle_timeout_secondsに設定されます。 - 接続が再びアクティブになった場合 — サンドボックスの終了時刻は、元の最大サンドボックス有効期間に戻されます。
- 再接続がないままアイドルタイムアウトが経過した場合 — サンドボックスは kill されます(
autoPauseが有効な場合は一時停止されます)。
Sandbox.connect() 経由、または開いている WebSocket/HTTP 接続)。
kill ではなく一時停止する
デフォルトでは、アイドル状態のサンドボックスはアイドルタイムアウトが期限切れになると kill されます。後で再開できるように、代わりにサンドボックスを 一時停止 したい場合は、autoPause オプションを有効にします。
autoPause が有効な場合、アイドルタイムアウト時にサンドボックスの状態は paused に遷移します。後で実行を再開するには、そのサンドボックスに connect できます。他の metadata との組み合わせ
idle_timeout metadata キーは、すでに使用している他の metadata キーと組み合わせることができます。
タイムアウトの制約
アイドルタイムアウトを無効にする
サンドボックスのアイドルタイムアウトを明示的に無効にするには、metadata からidle_timeout キーを省略するか、"0" に設定します。