> ## Documentation Index
> Fetch the complete documentation index at: https://novita.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Pausa e Retomada Automáticas Legadas

export const SandboxBetaVersionWarning = () => {
  if (typeof document === "undefined") {
    return null;
  } else {
    return <Warning>The following legacy features require the legacy SDK and CLI versions listed in <Link href="/docs/pt-BR/guides/sandbox-legacy-e2b-compatible" target="self">Legacy SDKs & CLI</Link>. Please note that legacy features may be less stable than production releases. If you encounter any issues while using these features, please <Link href="https://meetings-na2.hubspot.com/junyu" target="_blank">contact us</Link>.</Warning>;
  }
};

<Warning>
  Esta página legada é mantida para usuários que ainda usam a linha do SDK 1.x ou beta. Novas integrações com o SDK 2.x devem seguir a documentação atual do Sandbox.
</Warning>

<SandboxBetaVersionWarning />

Quando a instância de sandbox não é necessária no momento, mas você precisa poder retomá-la a qualquer momento posteriormente, consulte a [documentação](/docs/pt-BR/guides/sandbox-legacy-persistence) para pausar e retomar manualmente instâncias de sandbox.

O recurso **"Pausa e Retomada Automáticas"** permite que sua instância de sandbox seja pausada automaticamente após o [tempo limite](/docs/pt-BR/guides/sandbox-lifecycle) e retomada quando necessário. Quando você tenta executar operações (como executar comandos, executar código ou operações de arquivo) em um sandbox pausado, ele será retomado automaticamente sem intervenção manual.

## Habilitar Pausa Automática

Você pode habilitar o recurso de pausa automática definindo o parâmetro `auto_pause` como `true` ao criar uma instância de sandbox. A instância de sandbox será pausada automaticamente após o tempo limite e poderá ser retomada posteriormente.

<Warning>
  Observação: a instância de sandbox retomada ainda terá o recurso de pausa automática habilitado e será pausada automaticamente novamente após o tempo limite.
</Warning>

<CodeGroup>
  ```js JavaScript & TypeScript icon="js" theme={"system"}
  import { Sandbox } from 'novita-sandbox/code-interpreter';

  const sandbox = await Sandbox.create(
      {
          timeoutMs: 5_000,
          autoPause: true
      },
  );
  console.log('Sandbox created', sandbox.sandboxId)

  console.log('Waiting for 10 seconds...')
  await new Promise(resolve => setTimeout(resolve, 10000));

  const resumedSandbox = await Sandbox.connect(sandbox.sandboxId)
  console.log('Sandbox resumed', resumedSandbox.sandboxId)

  await sandbox.kill()
  ```

  ```python Python icon="python" theme={"system"}
  from novita_sandbox.core import Sandbox
  import time

  sandbox = Sandbox.create(
      timeout=5,
      auto_pause=True,
  )
  print('Sandbox created', sandbox.sandbox_id)

  print('Waiting for 10 seconds...')
  time.sleep(10)

  resumed_sandbox = Sandbox.connect(sandbox.sandbox_id)
  print('Sandbox resumed', resumed_sandbox.sandbox_id)

  sandbox.kill()
  ```
</CodeGroup>

## Habilitar Retomada Automática

Você pode habilitar o recurso de retomada automática definindo a chave `auto_resume` em `metadata` como `true` ao criar uma instância de sandbox. Depois de habilitado, quando você tenta operar em um sandbox pausado (como executar comandos, executar código, operações de arquivo etc.), o sandbox será retomado automaticamente.

<Warning>
  Observação: o tempo limite padrão para o sandbox retomado é de 5 minutos. Você pode atualizar o tempo limite do sandbox usando o método `setTimeout` ou `set_timeout`.
</Warning>

<CodeGroup>
  ```js JavaScript & TypeScript icon="js" theme={"system"}
  import { Sandbox } from 'novita-sandbox/code-interpreter';

  const sandbox = await Sandbox.create(
      {
          metadata:{"auto_resume": "true"}
      }
  );
  console.log('Sandbox created', sandbox.sandboxId)

  await sandbox.betaPause()
  console.log('Sandbox paused', sandbox.sandboxId)

  const result = await sandbox.commands.run('ls -al')
  console.log('Command result', result)

  await sandbox.kill()
  ```

  ```python Python icon="python" theme={"system"}
  from novita_sandbox.core import Sandbox

  sandbox = Sandbox.create(
      metadata={
          "auto_resume": "true",
      }
  )
  print('Sandbox created', sandbox.sandbox_id)

  sandbox.beta_pause()
  print('Sandbox paused', sandbox.sandbox_id)

  result = sandbox.commands.run('ls -al')
  print('Command result', result)

  sandbox.kill()
  ```
</CodeGroup>
