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

# Tiempo de espera por inactividad heredado

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/es/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 heredada se conserva para los usuarios que aún usan la línea del SDK 1.x o beta. Las nuevas integraciones con el SDK 2.x deben seguir la documentación actual de Sandbox.
</Warning>

<SandboxBetaVersionWarning />

Podemos establecer un tiempo de espera para cada sandbox (consulte [Gestión del ciclo de vida](/docs/es/guides/sandbox-lifecycle)). Cuando el tiempo de ejecución del sandbox alcanza el tiempo de espera, el sandbox se eliminará automáticamente. Sin embargo, en algunos escenarios, no podemos determinar el tiempo de ejecución esperado del sandbox, pero queremos que el sandbox se elimine automáticamente cuando no esté en uso para ahorrar costos. En este caso, puede usar la función **"Tiempo de espera por inactividad"**.

Al crear un sandbox, podemos establecer el parámetro `idle_timeout` en los metadatos (unidad: segundos, el mínimo es 60) para habilitar la función **"Tiempo de espera por inactividad"**. Una vez habilitada, cuando el sistema detecte que el sandbox no tiene operaciones (ejecución de comandos, ejecución de código, operaciones de archivos, etc.) dentro del intervalo de tiempo especificado, el sistema eliminará la instancia del sandbox. De lo contrario, el sandbox seguirá ejecutándose hasta alcanzar el límite máximo de tiempo para la operación del sandbox (actualmente, el valor predeterminado es 3600 segundos).

Consulte el siguiente ejemplo:

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