Domů / Docs

Dokumentace

Jak DiffMon funguje v oblasti monitoringu, alertů, bezpečnosti a API integrace.

Orchestrace workerů

Jak worker plánuje monitory, obsluhuje retrye a koordinuje locky.

Orchestrace workerů

Worker čte joby z Redis-backed front, vynucuje rate limity a zapisuje snapshoty atomicky.

Plánování

  • Každý monitor ukládá nextRunAt; joby se podle toho enqueueují.
  • Locky brání dvojímu zpracování při běhu více workerů.
  • Grace windows upravují kadenci automaticky podle stavu plánu.

Retrye

  • Přechodné chyby se retryují s exponential backoffem a jitterem.
  • Hlavičky Retry-After na 429 se respektují ještě před pokračováním.
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.
  • Vyhodnocení health používá poslední snapshoty, aby se omezil flapping.