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

# Délai d’inactivité hérité

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/fr/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>
  Cette page héritée est conservée pour les utilisateurs qui utilisent encore la ligne de SDK 1.x ou bêta. Les nouvelles intégrations avec le SDK 2.x doivent suivre la documentation Sandbox actuelle.
</Warning>

<SandboxBetaVersionWarning />

Nous pouvons définir un délai d’expiration pour chaque sandbox (voir [Gestion du cycle de vie](/docs/fr/guides/sandbox-lifecycle)). Lorsque le temps d’exécution de la sandbox atteint le délai d’expiration, la sandbox est automatiquement arrêtée. Toutefois, dans certains scénarios, nous ne pouvons pas déterminer le temps d’exécution attendu de la sandbox, mais nous voulons que la sandbox soit automatiquement arrêtée lorsqu’elle n’est pas utilisée afin de réduire les coûts. Dans ce cas, vous pouvez utiliser la fonctionnalité **« Délai d’inactivité »**.

Lors de la création d’une sandbox, nous pouvons définir le paramètre `idle_timeout` dans les métadonnées (unité : secondes, le minimum est 60) pour activer la fonctionnalité **« Délai d’inactivité »**. Une fois activée, lorsque le système détecte que la sandbox n’a effectué aucune opération (exécution de commandes, exécution de code, opérations sur les fichiers, etc.) pendant la plage de temps spécifiée, il arrête l’instance de sandbox. Sinon, la sandbox continue de s’exécuter jusqu’à atteindre la limite de temps maximale d’exécution de la sandbox (actuellement, la valeur par défaut est de 3600 secondes).

Veuillez vous référer à l’exemple suivant :

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