Aggiungi un heartbeat Verifagent a uno script Node.js
Il fetch nativo basta. Pinga alla fine di un'esecuzione riuscita così crash ed errori non inviano mai un heartbeat.
Prima di iniziare
Crea un monitor con la frequenza reale del workflow, poi copia l'URL dalla dashboard. Il token è segreto: non pubblicarlo.
Configurazione
Copia l'URL del monitor
Crea un monitor per la cadenza di questo job. Conserva l'URL in VERIFAGENT_URL (o passalo come argomento).
https://verifagent.com/api/ping/your-ping-tokenPing solo dopo il successo
Richiede Node 18+. Attendi il lavoro reale, poi fetch. Le risposte HTTP non OK lanciano errore così un ping rotto è visibile nei log.
// Node.js 18+
const PING_URL = process.env.VERIFAGENT_URL;
if (!PING_URL) {
throw new Error("Missing VERIFAGENT_URL");
}
async function doWork() {
// Sostituisci con il tuo job
}
async function ping() {
const response = await fetch(PING_URL, { method: "GET" });
if (!response.ok) {
throw new Error(`Ping failed: HTTP ${response.status}`);
}
const body = await response.json();
console.log(body); // { ok: true }
}
async function main() {
await doWork();
await ping();
}
main().catch((error) => {
console.error(error);
process.exitCode = 1;
// Nessun ping in caso di fallimento
});Variante POST opzionale
GET basta per un heartbeat. POST funziona allo stesso modo se lo preferisci.
const response = await fetch(PING_URL, { method: "POST" });
if (!response.ok) throw new Error(`Ping failed: HTTP ${response.status}`);Esegui una volta
VERIFAGENT_URL='…' node job.mjs — attendi { ok: true } e Up nella dashboard.
{"ok":true}Route disponibili
L'URL base basta per un heartbeat. Le varianti arricchiscono la cronologia se la piattaforma ha più rami.
GET https://YOUR_PING_URLPOST https://YOUR_PING_URL/successPOST https://YOUR_PING_URL/fail?msg=ErrorVerifica
Esecuzione riuscita → Up. Lancia errore prima di ping() → nessun segnale; Verifagent apre un incidente dopo periodo + tolleranza.
200 {"ok":true}. Il monitor passa da In attesa a Up.