# Phase 4D — Santé système

La v0.12.0 ajoute une supervision minimale mais concrète du runtime de Coaster World DATA.

## Heartbeats

Le scheduler exécute `cw:system:heartbeat` chaque minute. Cette commande :

1. écrit un heartbeat scheduler dans `storage/app/system-health` ;
2. envoie un job unique `SystemQueueHeartbeat` sur la queue `live` ;
3. le worker traite ce job et écrit son propre heartbeat.

Cela permet de distinguer un scheduler arrêté d'un worker arrêté.

## Page `/admin/system`

Elle affiche :

- connexion base de données ;
- état du scheduler ;
- état du worker ;
- jobs `live/default` en attente ;
- jobs échoués sur 24 h ;
- erreurs fournisseurs sur 24 h ;
- nombre d'états Live et d'états encore frais ;
- dernières exécutions fournisseurs.

## Scripts Windows

`START_DATA.bat` cherche d'abord `php.exe` dans le PATH, puis dans `C:\laragon\bin\php\php-*`. Il lance deux fenêtres minimisées : scheduler et queue.

`STOP_DATA.bat` ferme uniquement les fenêtres portant les titres Coaster World DATA créés par le lanceur.

`STATUS_DATA.bat` exécute `php artisan cw:system:status`.
