Deze verouderde pagina wordt behouden voor gebruikers die nog steeds de 1.x- of beta-SDK-lijn gebruiken. Nieuwe SDK 2.x-integraties moeten de huidige sandboxdocumentatie volgen.
Met sandboxpersistentie kun je je sandbox pauzeren en deze later hervatten vanuit dezelfde toestand als waarin deze zich bevond toen je hem pauzeerde.
Dit omvat niet alleen de toestand van het bestandssysteem van de sandbox, maar ook het geheugen van de sandbox. Dit betekent alle actieve processen, geladen variabelen, data, enzovoort.
Let op:
- Het duurt ongeveer 4 seconden per 1 GB RAM om de sandbox te pauzeren.
- Het duurt ongeveer 1 seconde om de sandbox te hervatten.
- De data van een gepauzeerde sandbox worden permanent bewaard totdat je expliciet de methode
kill aanroept.
Sandbox pauzeren
Wanneer je een sandbox pauzeert, worden zowel het bestandssysteem als de geheugenstatus van de sandbox opgeslagen. Dit omvat alle bestanden in het bestandssysteem van de sandbox en alle actieve processen, geladen variabelen, data, enzovoort.
Opmerking: korte overgangsperiode na het pauzerenPauzeren is een asynchrone bewerking. Na het aanroepen van beta_pause() pauzeert de sandbox op de achtergrond.Tijdens deze overgangsperiode, voordat het pauzeren is voltooid:
- Alleen-lezen-bewerkingen (bijv.
get_info, list): worden normaal geretourneerd; de status wordt weergegeven als paused
- Uitvoeringsbewerkingen (bijv.
commands.run, toegang tot openbare sandbox-URL’s): geven fouten terug — dit is verwacht gedrag. Wacht tot het pauzeren is voltooid voordat je het opnieuw probeert (de tijd varieert afhankelijk van de geheugengrootte, zie de opmerking hierboven)
- Hervatbewerking (
connect): wacht automatisch tot het pauzeren is voltooid voordat de sandbox wordt hervat — handmatig pollen of opnieuw proberen is niet nodig
Sandbox hervatten
Wanneer je een sandbox hervat, bevindt deze zich in dezelfde toestand als toen je hem pauzeerde.
Dit betekent dat alle bestanden in het bestandssysteem van de sandbox worden hersteld en dat alle actieve processen, geladen variabelen, data, enzovoort worden hersteld.
Als je connect() direct aanroept na het aanroepen van beta_pause(), wacht connect() automatisch tot het pauzeren is voltooid voordat de sandbox wordt hervat. Handmatig pollen is niet vereist — het volledige proces is transparant voor de aanroeper.
Als je probeert een sandbox te hervatten die is vernietigd of niet bestaat:
- JavaScript SDK geeft
NotFoundError
- Python SDK geeft
NotFoundException
Gepauzeerde sandboxes weergeven
Je kunt alle gepauzeerde sandboxes weergeven door de methode Sandbox.list aan te roepen en de queryparameter state mee te geven.
Meer informatie over het gebruik van de methode is te vinden in Sandboxes weergeven.
Gepauzeerde sandboxes verwijderen
Je kunt gepauzeerde sandboxes verwijderen door de methode kill op de sandboxinstantie aan te roepen.
Timeout van de sandbox
Wanneer je een sandbox hervat, wordt de timeout van de sandbox teruggezet naar de standaardtimeout van een sandbox: 5 minuten.
Je kunt als volgt een aangepaste timeout doorgeven aan de methode Sandbox.connect():
Netwerk
Als je een service (bijvoorbeeld een server) binnen je sandbox hebt draaien en je de sandbox pauzeert, is de service van buitenaf niet toegankelijk en worden alle clients losgekoppeld.
Als je de sandbox hervat, is de service weer toegankelijk, maar moet je clients opnieuw verbinden.