Aller au contenu

Aller au sommaire de la doc

Mise en veille

Un service peu appelé s’endort et ne réserve plus rien. La première requête le réveille en quelques secondes.

Mis à jour le 9 novembre 2026.

Voir en Markdown

Vous, à votre agent : Laisse dormir le service de démo quand personne ne s’en sert.

Ce que votre agent écrit

Votre agent l’écrit dans while.yaml, à la racine de votre appli :

while.yaml
services:
  - name: web
    port: 3000
    sleep: 1h
environments:
  production:
    services:
      - name: web
        sleep: never

Quand vous en servir

Servez-vous-en pour un service peu appelé : il ne réserve rien en dormant, et se réveille en 2 à 4 secondes, plus le démarrage de l’appli.

Comment ça marche

Un service web ou un site qui ne reçoit plus de requête s’endort et ne réserve plus rien. La première requête le réveille et attend qu’il réponde.

Ce qu’il faut savoir

Le réglage se pose par service dans while.yaml. sleep: 30m l’endort après 30 minutes sans requête, et sleep: never le garde toujours éveillé, avec au moins une instance ; le délai s’écrit en minutes ou en heures (30m, 2h). Par défaut, un service reste éveillé en production, et s’endort après 30 minutes sans requête ailleurs, comme dans une prévisualisation. Un worker et une tâche ne dorment jamais.

Un service qui dort repart d’une instance à son réveil : scale.min ne compte que s’il ne dort pas, et scale.min: 0, l’ancienne façon de le dire, vaut sleep: 30m. La surveillance de fond de while ne réveille pas un service endormi, mais l’outil get_app_status le réveille, sauf avec probe: false. status donne aussi les réveils des 7 derniers jours (wakeups.median_ms) : un démarrage lourd gagne à charger ce qu’il peut à la demande.

Une prévisualisation dont tous les services dorment, sans visite, lecture ni mise en ligne depuis 24 heures, a sa base mise en veille. La visite suivante reçoit une page « se réveille » (503) qui se recharge d’elle-même, et la base est prête en une dizaine de secondes. Un script reçoit 503 et Retry-After, et une mise en ligne réveille la base et l’attend. Une base de production ne dort jamais.

Branchez votre agent, il s’occupe du reste

À coller dans votre agent

Lis while.sh/agents, puis mets mon appli en ligne avec while.

Copier les instructions

Pas besoin de compte pour essayer : votre appli est en ligne tout de suite. Pour la garder, connectez-vous.

Un projet pour votre entreprise ? Parlez à l’équipe : hello@while.sh