Exemples d'intégration Heartbeat
Code prêt à l'emploi pour intégrer le heartbeat à vos scripts.
L'intégration du heartbeat est simple : un appel HTTP à la fin de votre script.
Voici des exemples dans différents langages pour vous aider à démarrer.
Les 3 endpoints disponibles
Chaque endpoint a un rôle spécifique :
Ping (succès)
Signale que la tâche s'est exécutée avec succès.
# Signal de succes (ping)
curl -X POST https://monitao.com/api/heartbeat/ping/YOUR_PING_TOKEN \
-H "Authorization: Bearer YOUR_API_SECRET"
Start (début)
Signale le début de la tâche (optionnel, permet de mesurer la durée).
# Signal de debut (start)
curl -X POST https://monitao.com/api/heartbeat/start/YOUR_PING_TOKEN \
-H "Authorization: Bearer YOUR_API_SECRET"
Fail (échec)
Signale un échec explicite de la tâche.
# Signal d'echec (fail)
curl -X POST https://monitao.com/api/heartbeat/fail/YOUR_PING_TOKEN \
-H "Authorization: Bearer YOUR_API_SECRET"
Exemples d'intégration
Script Bash
#!/bin/bash
# Script avec heartbeat MoniTao
TOKEN="YOUR_PING_TOKEN"
SECRET="YOUR_API_SECRET"
URL="https://monitao.com/api/heartbeat"
# Signal debut
curl -s -X POST "$URL/start/$TOKEN" -H "Authorization: Bearer $SECRET"
# Votre tache ici
./my_task.sh
# Verifier le code de sortie
if [ $? -eq 0 ]; then
curl -s -X POST "$URL/ping/$TOKEN" -H "Authorization: Bearer $SECRET"
else
curl -s -X POST "$URL/fail/$TOKEN" -H "Authorization: Bearer $SECRET"
fi
Script PHP
<?php
// PHP avec heartbeat MoniTao
$token = 'YOUR_PING_TOKEN';
$secret = 'YOUR_API_SECRET';
$baseUrl = 'https://monitao.com/api/heartbeat';
function sendHeartbeat($endpoint, $token, $secret) {
$ch = curl_init("https://monitao.com/api/heartbeat/$endpoint/$token");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer $secret"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
// Utilisation
sendHeartbeat('start', $token, $secret);
try {
// Votre code ici
processData();
sendHeartbeat('ping', $token, $secret);
} catch (Exception $e) {
sendHeartbeat('fail', $token, $secret);
throw $e;
}
Script Python
import requests
TOKEN = "YOUR_PING_TOKEN"
SECRET = "YOUR_API_SECRET"
BASE_URL = "https://monitao.com/api/heartbeat"
def heartbeat(endpoint):
return requests.post(
f"{BASE_URL}/{endpoint}/{TOKEN}",
headers={"Authorization": f"Bearer {SECRET}"}
)
# Utilisation
heartbeat("start")
try:
# Votre code ici
process_data()
heartbeat("ping")
except Exception as e:
heartbeat("fail")
raise e
Cas d'usage
- Intégration dans un cron existant
- Surveillance d'un script de backup
- Monitoring d'un job de queue
Étapes de configuration
- Créez un job heartbeat dans MoniTao
- Copiez votre ping_token et api_secret
- Ajoutez le code d'intégration à votre script
Questions fréquentes
Le ping est-il synchrone ?
Oui, l'appel HTTP attend la réponse de MoniTao (quelques ms).
Que faire si le ping échoue ?
Ajoutez une gestion d'erreur ou ignorez l'échec si le ping n'est pas critique.
Puis-je utiliser un timeout court pour le curl ?
Oui, 5-10 secondes de timeout sont généralement suffisants.
L'api_secret est-il obligatoire ?
Oui, le header Authorization avec le Bearer token est requis pour authentifier le ping.
Liens utiles
Prêt à dormir sur vos deux oreilles ?
Commencez gratuitement, sans carte bancaire.