Heartbeats
Le SDK peut pinger un heartbeat sur le serveur Quiet Guard à chaque exécution de l'une de vos tâches planifiées. Le serveur fonctionne comme un dispositif d'homme mort : une fois le heartbeat armé avec une période attendue, l'absence de pings déclenche une alerte de retard. Une entrée cron perdue, un schedule:run oublié, une tâche désactivée « temporairement » : le silence devient lui-même l'alerte. Le concept complet (statuts, armement, canaux d'alerte) est détaillé dans la documentation du serveur.
La macro du scheduler (recommandée)
Le SDK enregistre une macro monitorHeartbeat() sur les événements planifiés de Laravel. Chaînez-la directement sur la tâche à surveiller, dans routes/console.php :
Deux propriétés font de la macro le câblage recommandé :
- Elle ne pingue que si la tâche réussit (elle s'accroche au
onSuccessdu scheduler). Une tâche qui plante ou sort avec un code non nul n'envoie rien, reste silencieuse et déclenche donc l'alerte de retard. Pinger avant la tâche, ou systématiquement après, ruinerait tout l'intérêt du mécanisme. - Elle respecte les garde-fous du SDK au moment de l'exécution : si
MONITOR_ENABLED=false, ou si l'environnement courant ne figure pas dans la listeMONITOR_ENVIRONMENTS, le ping est ignoré. Un scheduler de staging exécutant le même code ne pingue donc jamais vos heartbeats de production. Voir Configuration.
Ping manuel
Vous pouvez aussi pinger depuis n'importe quel code avec la commande Artisan, par exemple depuis une ligne cron brute après un script shell :
Si MONITOR_ENABLED=false, la commande affiche un avertissement et n'envoie rien. Elle sort avec un code d'échec quand le ping ne peut pas être délivré (vérifiez MONITOR_URL / MONITOR_KEY).
Cycle de vie
- Le premier ping enregistre automatiquement le heartbeat sur votre projet, non armé : les pings sont enregistrés, rien n'alerte jamais. Vous branchez le ping d'abord, puis vous décidez de ce que « en retard » veut dire.
- L'armement se fait dans le tableau de bord : ouvrez l'onglet Heartbeats du projet et définissez la période attendue (plus une tolérance). Le SDK n'expose pas l'armement ; il ne fait que pinger.
- Le rétablissement est silencieux : après une panne, le ping réussi suivant repasse le heartbeat en sain, sans notification.
Règles de slug
Un slug de heartbeat identifie la tâche : lettres minuscules, chiffres et tirets simples (reports-send, nightly-backup). Le serveur normalise tout le reste ; utilisez donc cet alphabet dès le départ et gardez le slug identique entre la macro et le tableau de bord.
Étape suivante
Poursuivez avec les Sauvegardes chiffrées, le complément naturel : un heartbeat sur votre tâche de sauvegarde vous prévient le jour où elle cesse de tourner.
Vous lisez la documentation Laravel SDK v1.0.