Guida Node.js

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.

Modulo da usare : fetch (Node 18+). Posizionalo dopo l'ultima azione utile sul percorso di successo.

Configurazione

1

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-token
2

Ping 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 });
3

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}`);
4

Esegui una volta

VERIFAGENT_URL='…' node job.mjs — attendi { ok: true } e Up nella dashboard.

{"ok":true}
Tieni ping() dopo await doWork(). Allinea il periodo allo scheduler; tolleranza sopra cold-start e latenza di rete per host serverless.

Route disponibili

L'URL base basta per un heartbeat. Le varianti arricchiscono la cronologia se la piattaforma ha più rami.

GET https://YOUR_PING_URL
POST https://YOUR_PING_URL/success
POST https://YOUR_PING_URL/fail?msg=Error

Verifica

Esecuzione riuscita → Up. Lancia errore prima di ping() → nessun segnale; Verifagent apre un incidente dopo periodo + tolleranza.

Risposta attesa: 200 {"ok":true}. Il monitor passa da In attesa a Up.