Configureren
Wanneer je een sandbox maakt, geef je eenlifecycle-configuratie mee. Hiermee bepaal je het time-outgedrag en of een gepauzeerde sandbox automatisch kan ontwaken.
Levenscyclusopties
De instellinglifecycle ondersteunt deze velden:
Als automatisch hervatten is uitgeschakeld of weggelaten, kan een gepauzeerde sandbox nog steeds handmatig worden hervat met
Sandbox.connect().
Automatisch pauzeren
Standaard wordt een sandbox beëindigd wanneer de time-out verloopt. StelonTimeout in JavaScript of on_timeout in Python in om de status in plaats daarvan te behouden door te pauzeren bij een time-out.
Automatisch hervatten
Automatisch hervatten kan een gepauzeerde sandbox wekken wanneer ondersteunde activiteit binnenkomt. Dit werkt alleen wanneer de sandbox is geconfigureerd om bij een time-out te pauzeren.Time-out na automatisch hervatten
Na een automatische hervatting krijgt de sandbox een time-out van minimaal vijf minuten. Als de oorspronkelijke time-out langer was dan vijf minuten, wordt de langere oorspronkelijke waarde opnieuw gebruikt. De time-outtimer start wanneer de sandbox wordt hervat, niet wanneer deze oorspronkelijk is gemaakt. Voorbeeld met een time-out van twee minuten:- De sandbox draait twee minuten en pauzeert daarna.
- Nieuwe activiteit bereikt de sandbox, waardoor deze wordt hervat.
- De hervatte sandbox krijgt een time-out van vijf minuten, omdat dat het minimum is.
- Als niets de timer reset, pauzeert de sandbox opnieuw na vijf minuten.
- De sandbox wordt hervat met een time-out van één uur, omdat de oorspronkelijke time-out langer is dan het minimum van vijf minuten.
Je kunt de time-out na het hervatten bijwerken met
setTimeout() in JavaScript of set_timeout() in Python.Wat als activiteit telt
Automatisch hervatten kan worden geactiveerd door SDK-acties en HTTP-verkeer. Ondersteunde voorbeelden zijn onder andere:sandbox.commands.run(...)sandbox.files.read(...)sandbox.files.write(...)- Een getunnelde applicatie-URL bezoeken
- Verzoeken sturen naar een service die binnen de sandbox draait
Sandbox.connect() niet eerst aan te roepen.
SDK-voorbeeld: pauzeren en daarna een bestand lezen
Dit voorbeeld maakt een sandbox, schrijft een bestand, pauzeert de sandbox en leest daarna het bestand. De leesbewerking zorgt ervoor dat de sandbox wordt hervat.Voorbeeld: webserver met automatisch hervatten
Automatisch hervatten werkt goed voor preview-omgevingen en webservers. Nadat de sandbox pauzeert, kan een binnenkomend HTTP-verzoek naar de blootgestelde service deze wekken. Het onderstaande voorbeeld start een eenvoudige Python-HTTP-server en drukt een openbare preview-URL af. Je kuntgetHost() in JavaScript of get_host() in Python gebruiken om de openbare hostnaam voor een poort op te halen.
Opschonen
Automatisch hervatten blijft ingeschakeld tijdens herhaalde hervat- en pauzecycli. Elke hervatting start een nieuwe time-outperiode, met minimaal vijf minuten of de langere oorspronkelijke time-out. Nadat de sandbox is hervat, moeten clients opnieuw verbinding maken met alle services die ze gebruikten. Bestaande HTTP-, WebSocket-, database- en terminalverbindingen blijven niet open terwijl de sandbox is gepauzeerd. Je kunt.kill() aanroepen om de sandbox permanent te verwijderen. Daarna kan deze niet meer worden hervat.