Scheduler-сервис проекта Task Tracker.
Сервис раз в сутки запускает формирование пользовательских отчётов по задачам. Он получает данные из backend, отправляет их в сервис суммаризации через Kafka RPC, а готовый отчет передает в Kafka для последующей отправки пользователю по email.
Каждый день в 00:00 по московскому времени сервис:
- Запрашивает у backend данные по задачам за прошедшие сутки.
- Отправляет данные пользователя в топик
SUMMARIZATION_REQUESTS. - Получает сгенерированный отчёт через Kafka request-reply.
- Отправляет готовое письмо в топик
EMAIL_SENDING_TASKS.
- Java 21
- Spring Boot 4
- Spring Scheduler
- Spring Kafka
- Kafka Request-Reply
- Spring RestClient
- Gradle
- Docker
Для локальной работы необходимы:
- Backend —
localhost:8080 - Kafka —
localhost:9092
Kafka можно поднять из основного репозитория:
docker compose -f docker-compose.dev.yml up -dПосле этого scheduler запускается из IDE с профилем:
dev
Сервис входит в общий production Docker Compose проекта: