# ADR-0002: Явный синк и отдельный worker Статус: предложено, 13.10.2026; к реализации после утверждения spec и относящихся Q. ## Контекст INT 02/04 требуют повторяемого синка и сохранения истории при сбоях. STT-215 задаёт SphereClient и ручной/15-минутный запуск. Nitro tasks остаются experimental. ## Решение Один модуль DirectorySync.run для теста/ручного вызова/worker. Production: отдельный процесс того же Node-релиза, задания/lease/fencing в Postgres, 15 минут как предложение. Локальная PGlite: единственный процесс с ручным runner, cron выключен. ## Последствия HTTP не держится на долгом импорте; ошибки/повторы/полнота наблюдаемы. Нужно эксплуатировать второй процесс и задания; раздельных бизнес-сервисов и очереди Redis нет. Порт источника не знает scheduler; replay и crash проверяются. ## Отвергнутые варианты Nitro scheduledTasks проще, но привязаны к платформе/экспериментальному API и жизненному циклу web; in-memory cron теряет задание; отдельные микросервисы/брокер пока не оправданы. Пересмотр допустим при стабильном Nitro scheduler, сохраняющем тот же run.