Перейти к основному содержимому

ADR-0031: Background Jobs И Schedulers

Статус

Принято.

Контекст

Reconciliation, projections, provider sync, cleanup и consumers должны быть надежными, идемпотентными и наблюдаемыми. Если business logic живет внутри hosted services, ее трудно тестировать и повторно запускать.

Решение

Background plumbing только запускает MediatR command/query. Jobs регистрируются в job registry, используют idempotency, distributed locks, checkpoints, metrics и runbooks.

Последствия

  • Hosted services остаются тонкими.
  • Business decision тестируется как обычный handler/domain logic.
  • Manual replay требует permission и audit.
  • Projection jobs имеют freshness SLA и checkpoint.