Esta página legada é mantida para usuários que ainda usam a linha 1.x ou beta do SDK. Novas integrações com o SDK 2.x devem seguir a documentação atual do Sandbox.
A persistência da sandbox permite pausar sua sandbox e retomá-la posteriormente a partir do mesmo estado em que ela estava quando você a pausou.
Isso inclui não apenas o estado do sistema de arquivos da sandbox, mas também a memória da sandbox. Isso significa todos os processos em execução, variáveis carregadas, dados etc.
Observe:
- Leva cerca de 4 segundos por 1 GB de RAM para pausar a sandbox.
- Leva cerca de 1 segundo para retomar a sandbox.
- Os dados de uma sandbox pausada são mantidos permanentemente até que você chame explicitamente o método
kill.
Pausando a sandbox
Quando você pausa uma sandbox, tanto o sistema de arquivos da sandbox quanto o estado da memória serão salvos. Isso inclui todos os arquivos no sistema de arquivos da sandbox e todos os processos em execução, variáveis carregadas, dados etc.
Observação: breve período de transição após pausarPausar é uma operação assíncrona. Depois de chamar beta_pause(), a sandbox é pausada em segundo plano.Durante esse período de transição, antes que a pausa seja concluída:
- Operações somente leitura (por exemplo,
get_info, list): retornam normalmente; o status é exibido como paused
- Operações de execução (por exemplo,
commands.run, acessar URLs públicas da sandbox): retornarão erros — esse é o comportamento esperado. Aguarde a conclusão da pausa antes de tentar novamente (o tempo varia conforme o tamanho da memória, veja a observação acima)
- Operação de retomada (
connect): aguarda automaticamente a conclusão da pausa antes de retomar a sandbox — não é necessário fazer polling manual nem tentar novamente
Retomando a sandbox
Quando você retoma uma sandbox, ela estará no mesmo estado em que estava quando você a pausou.
Isso significa que todos os arquivos no sistema de arquivos da sandbox serão restaurados e todos os processos em execução, variáveis carregadas, dados etc. serão restaurados.
Se você chamar connect() imediatamente após chamar beta_pause(), connect() aguarda automaticamente a conclusão da pausa antes de retomar a sandbox. Não é necessário fazer polling manual — todo o processo é transparente para o chamador.
Se você tentar retomar uma sandbox que foi destruída ou não existe:
- O JavaScript SDK lançará
NotFoundError
- O Python SDK lançará
NotFoundException
Listando sandboxes pausadas
Você pode listar todas as sandboxes pausadas chamando o método Sandbox.list e fornecendo o parâmetro de consulta state.
Mais informações sobre como usar o método podem ser encontradas em List Sandboxes.
Removendo sandboxes pausadas
Você pode remover sandboxes pausadas chamando o método kill na instância da sandbox.
Tempo limite da sandbox
Quando você retoma uma sandbox, o tempo limite da sandbox é redefinido para o tempo limite padrão de uma sandbox — 5 minutos.
Você pode passar um tempo limite personalizado para o método Sandbox.connect() assim:
Rede
Se você tiver um serviço (por exemplo, um servidor) em execução dentro da sua sandbox e pausar a sandbox, o serviço não ficará acessível externamente e todos os clientes serão desconectados.
Se você retomar a sandbox, o serviço ficará acessível novamente, mas será necessário conectar os clientes novamente.