Start / Docs

Dokumentation

Wie DiffMon bei Monitoring, Alerts, Sicherheit und API-Integration funktioniert.

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.
TypeScript
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.