---
title: "Mise en veille d’un service : la doc de while.sh"
url: https://while.sh/fr/docs/briques/veille/
updated: 2026-11-09
---

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

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

```yaml titre="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.
