Фоновые процессы
Описание
Кроме реактивной обработки апдейтов Telegram и outbox-событий, бот держит
несколько @Cron-задач (@nestjs/schedule) и один пассивный флоу помощи.
Все задачи, пишущие в общие таблицы, single-flight-безопасны через
RedlockService (см. «Архитектура» — сервис рассчитан на 1
реплику, редлок здесь подстраховка, а не механизм масштабирования).
| Задача | Расписание | Файл |
|---|---|---|
| Outbox-поллинг | EVERY_10_SECONDS | src/outbox/outbox-consumer.service.ts |
| Напоминания застрявшим | EVERY_HOUR | src/reminders/reminders.service.ts |
| Дайджест лидеру | EVERY_DAY_AT_NOON | src/notifications/digest.service.ts |
| Отправитель рассылок (sweep) | EVERY_MINUTE | src/broadcast/broadcast-sender.service.ts |
| Чистка дедуп-леджера outbox | EVERY_DAY_AT_MIDNIGHT | src/outbox/processed-prune.service.ts |
Outbox-поллинг и отправитель рассылок описаны в «Outbox-контракт» и «Рассылки» соответственно. Ниже — напоминания, дайджест и help-флоу.