Skip to main content
Diese Funktionen bauen auf Sandbox-Persistenz auf. Automatisches Pausieren behält den Sandbox-Zustand bei, wenn die maximale Lebensdauer abläuft. Automatisches Fortsetzen weckt eine pausierte Sandbox auf, wenn neue Aktivität eintrifft.

Konfigurieren

Übergeben Sie beim Erstellen einer Sandbox eine lifecycle-Konfiguration. Diese steuert das Timeout-Verhalten und ob eine pausierte Sandbox automatisch geweckt werden kann.

Lifecycle-Optionen

Die Einstellung lifecycle unterstützt diese Felder: Wenn automatisches Fortsetzen deaktiviert ist oder weggelassen wird, kann eine pausierte Sandbox weiterhin manuell mit Sandbox.connect() fortgesetzt werden.

Automatisches Pausieren

Standardmäßig wird eine Sandbox beendet, wenn ihr Timeout abläuft. Um stattdessen den Zustand beizubehalten, setzen Sie onTimeout in JavaScript oder on_timeout in Python, damit bei Timeout pausiert wird.

Automatisches Fortsetzen

Automatisches Fortsetzen kann eine pausierte Sandbox aufwecken, wenn unterstützte Aktivität eintrifft. Dies funktioniert nur, wenn die Sandbox so konfiguriert ist, dass sie bei Timeout pausiert.

Timeout nach automatischem Fortsetzen

Nach einem automatischen Fortsetzen erhält die Sandbox ein Timeout von mindestens fünf Minuten. Wenn das ursprüngliche Timeout länger als fünf Minuten war, wird der längere ursprüngliche Wert wiederverwendet. Der Timeout-Timer startet, wenn die Sandbox fortgesetzt wird, nicht wenn sie ursprünglich erstellt wurde. Beispiel mit einem Zwei-Minuten-Timeout:
  1. Die Sandbox läuft zwei Minuten lang und wird dann pausiert.
  2. Neue Aktivität erreicht die Sandbox, wodurch sie fortgesetzt wird.
  3. Die fortgesetzte Sandbox erhält ein Fünf-Minuten-Timeout, da dies das Minimum ist.
  4. Wenn nichts den Timer zurücksetzt, wird die Sandbox nach fünf Minuten erneut pausiert.
Beispiel mit einem Ein-Stunden-Timeout:
  • Die Sandbox wird mit einem Ein-Stunden-Timeout fortgesetzt, weil das ursprüngliche Timeout länger als das Fünf-Minuten-Minimum ist.
Dieses Verhalten setzt sich über zukünftige Pausierungs- und Fortsetzungszyklen hinweg fort, da die Lifecycle-Einstellungen an die Sandbox gebunden bleiben.
Sie können das Timeout nach dem Fortsetzen aktualisieren, indem Sie setTimeout() in JavaScript oder set_timeout() in Python verwenden.

Was als Aktivität zählt

Automatisches Fortsetzen kann durch SDK-Aktionen und HTTP-Traffic ausgelöst werden. Unterstützte Beispiele sind:
  • sandbox.commands.run(...)
  • sandbox.files.read(...)
  • sandbox.files.write(...)
  • Aufrufen einer getunnelten Anwendungs-URL
  • Senden von Anfragen an einen Dienst, der innerhalb der Sandbox läuft
Wenn eine Sandbox pausiert ist und automatisches Fortsetzen aktiviert ist, setzt die nächste unterstützte Aktion sie automatisch fort. Sie müssen Sandbox.connect() nicht zuerst aufrufen.

SDK-Beispiel: pausieren, dann eine Datei lesen

Dieses Beispiel erstellt eine Sandbox, schreibt eine Datei, pausiert die Sandbox und liest dann die Datei. Der Lesevorgang bewirkt, dass die Sandbox fortgesetzt wird.

Beispiel: Webserver mit automatischem Fortsetzen

Automatisches Fortsetzen eignet sich gut für Vorschauumgebungen und Webserver. Nachdem die Sandbox pausiert wurde, kann eine eingehende HTTP-Anfrage an den veröffentlichten Dienst sie aufwecken. Das folgende Beispiel startet einen einfachen Python-HTTP-Server und gibt eine öffentliche Vorschau-URL aus. Sie können getHost() in JavaScript oder get_host() in Python verwenden, um den öffentlichen Hostnamen für einen Port abzurufen.

Bereinigung

Automatisches Fortsetzen bleibt über wiederholte Fortsetzungs- und Pausierungszyklen hinweg aktiviert. Jedes Fortsetzen startet einen neuen Timeout-Zeitraum, wobei mindestens fünf Minuten oder das längere ursprüngliche Timeout verwendet werden. Nachdem die Sandbox fortgesetzt wurde, sollten Clients die Verbindung zu allen Diensten, die sie verwendet haben, erneut herstellen. Bestehende HTTP-, WebSocket-, Datenbank- und Terminalverbindungen bleiben nicht geöffnet, während die Sandbox pausiert ist. Sie können .kill() aufrufen, um die Sandbox dauerhaft zu löschen. Danach kann sie nicht fortgesetzt werden.
Zuletzt geändert am 10. August 2026