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

  1. Créez un job heartbeat dans MoniTao
  2. Copiez votre ping_token et api_secret
  3. 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.

Prêt à dormir sur vos deux oreilles ?

Commencez gratuitement, sans carte bancaire.