Worker-Orchestrierung
Wie der Worker Monitore plant, Retries behandelt und Locks koordiniert.
Worker-Orchestrierung
Der Worker zieht Jobs aus Redis-backed Queues, erzwingt Rate Limits und schreibt Snapshots atomar.
Planung
- Jeder Monitor speichert
nextRunAt; Jobs werden entsprechend enqueued. - Locks verhindern doppelte Verarbeitung, wenn mehrere Worker laufen.
- Grace Windows passen die Kadenz automatisch an den Planstatus an.
Retries
- Transiente Fehler werden mit Exponential Backoff und Jitter erneut versucht.
- Retry-After-Header bei 429 werden vor dem Fortfahren beachtet.
for (let attempt = 0; attempt <= retryMaxAttempts; attempt++) {
last = await attemptOnce();
if (!last.error && last.statusCode && last.statusCode < 400) break;
const backoff = retryBaseDelayMs * Math.pow(2, attempt);
await sleep(Math.min(backoff + Math.random() * retryBaseDelayMs, 30_000));
}Processing Pipeline
- Fetch target -> normalize -> hash -> compare -> write snapshot/diff -> send alerts/webhooks -> update health.
- Die Health-Auswertung nutzt aktuelle Snapshots, um Flapping zu vermeiden.