> ## 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.

# Tempo limite de inatividade legado

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 1.x ou beta do SDK. Novas integrações com o SDK 2.x devem seguir a documentação atual de Sandbox.
</Warning>

<SandboxBetaVersionWarning />

Podemos definir um tempo limite para cada sandbox (consulte [Gerenciamento do ciclo de vida](/docs/pt-BR/guides/sandbox-lifecycle)). Quando o tempo de execução da sandbox atingir o tempo limite, a sandbox será encerrada automaticamente. No entanto, em alguns cenários, não conseguimos determinar o tempo de execução esperado da sandbox, mas queremos que a sandbox seja encerrada automaticamente quando não estiver em uso para economizar custos. Nesse caso, você pode usar o recurso **"Tempo limite de inatividade"**.

Ao criar uma sandbox, podemos definir o parâmetro `idle_timeout` nos metadados (unidade: segundos, o mínimo é 60) para habilitar o recurso **"Tempo limite de inatividade"**. Uma vez habilitado, quando o sistema detectar que a sandbox não teve operações (execução de comandos, execução de código, operações de arquivo etc.) dentro do intervalo de tempo especificado, o sistema encerrará a instância da sandbox. Caso contrário, a sandbox continuará em execução até atingir o limite máximo de tempo para operação da sandbox (atualmente, o padrão é 3600 segundos).

Consulte o exemplo a seguir:

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

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

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

  await new Promise(resolve => setTimeout(resolve, 90000));

  const isRunning = await sandbox.isRunning()
  console.log('Sandbox is running', isRunning)

  await sandbox.kill()
  ```

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

  sandbox = Sandbox.create(
      metadata={"idle_timeout": "60"}  # Minimum time is 60s, you can customize it
  )
  print('Sandbox created', sandbox.sandbox_id)

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

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

  is_running = sandbox.is_running()
  print('Sandbox is running', is_running)

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