-
Тесты -
cd test
run_tests.bat
-
Запуск -
set WORKERS=8 && set QUEUE_SIZE=128 && go run main.go
✅ Прием задач через REST API
✅ Буферизированная очередь с настраиваемым размером
✅ Пул воркеров для параллельной обработки
✅ Экспоненциальный бэкофф с джиттером при ошибках
✅ Отслеживание состояния задач
✅ Healthcheck endpoint
✅ Graceful shutdown
Controller (HTTP) → Service (Business Logic) → Repository (Data) | Worker Pool
- HTTP Controller - Обработка HTTP запросов, валидация
- Queue Service - Бизнес-логика, оркестрация работы
- Task Repository - Хранение и управление состоянием задач
- Worker Pool - Обработка задач пулом воркеров
queued
- Задача в очередиrunning
- Задача в обработкеdone
- Успешно завершенаfailed
- Завершена с ошибкой после всех попыток
В соответствии с ТЗ