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

# Ciclo de vida del sandbox

export const SandboxConfigHint = () => {
  if (typeof document === "undefined") {
    return null;
  } else {
    return <Note>Before running the example code in this document, please ensure you have properly configured environment variables. For details, please refer to <a href="/docs/es/guides/sandbox-your-first-agent-sandbox#configure-environment-variables">Configure Environment Variables</a>.</Note>;
  }
};

Un sandbox sigue ejecutándose hasta que expira su tiempo de espera o hasta que lo detienes manualmente. De forma predeterminada, un sandbox nuevo permanece activo durante 5 minutos. Puedes establecer un tiempo de espera diferente al crear el sandbox, actualizar el tiempo de espera mientras se está ejecutando, inspeccionar la información del sandbox o finalizarlo cuando hayas terminado.

<SandboxConfigHint />

## Crear un sandbox con un tiempo de espera

Establece el tiempo de espera al momento de la creación cuando sabes cuánto tiempo debe ejecutarse el trabajo.

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

  // Timeout is in milliseconds.
  const sandbox = await Sandbox.create({ timeoutMs: 60_000 })

  await sandbox.kill()
  ```

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

  # Timeout is in seconds.
  sandbox = Sandbox.create(timeout=60)

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

## Actualizar el tiempo de espera

Puedes usar el método `setTimeout` para restablecer cuánto tiempo más debe permanecer activo el sandbox. Esto es útil cuando la actividad del usuario continúa después de que el tiempo de espera original habría expirado.

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

  const sandbox = await Sandbox.create({ timeoutMs: 60_000 })

  await sandbox.setTimeout(300_000)

  await sandbox.kill()
  ```

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

  sandbox = Sandbox.create(timeout=60)

  sandbox.set_timeout(300)

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

## Obtener información del sandbox

Puedes usar el método `getInfo` en JavaScript o el método `get_info` en Python para inspeccionar el ID del sandbox, la plantilla, los metadatos, el estado actual y la hora de expiración.

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

  const sandbox = await Sandbox.create({ timeoutMs: 60_000 })

  const info = await sandbox.getInfo()

  console.log(info.sandboxId)
  console.log(info.templateId)
  console.log(info.state)
  console.log(info.startedAt)
  console.log(info.endAt)

  await sandbox.kill()
  ```

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

  sandbox = Sandbox.create(timeout=60)

  info = sandbox.get_info()

  print(info.sandbox_id)
  print(info.template_id)
  print(info.state)
  print(info.started_at)
  print(info.end_at)

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

## Finalizar un sandbox

Puedes usar el método `kill` para apagar un sandbox antes de que expire su tiempo de espera cuando ya no lo necesites.

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

  const sandbox = await Sandbox.create({ timeoutMs: 60_000 })
  const sandboxId = sandbox.sandboxId

  await sandbox.kill()

  // Or kill by ID.
  await Sandbox.kill(sandboxId)
  ```

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

  sandbox = Sandbox.create(timeout=60)
  sandbox_id = sandbox.sandbox_id

  sandbox.kill()

  # Or kill by ID.
  Sandbox.kill(sandbox_id)
  ```
</CodeGroup>

## Próximos pasos

* Para conservar el estado de un sandbox para usarlo más adelante, consulta [Persistencia del sandbox](/docs/es/guides/sandbox-persistence).
* Para crear estados guardados reutilizables, consulta [Instantánea del sandbox](/docs/es/guides/sandbox-snapshot).
