Skip to content

Gprojects1/TaskQueue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskQueue

Запуск :

  • Тесты - 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 - Завершена с ошибкой после всех попыток

🌐 API Endpoints

В соответствии с ТЗ

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published