Система управления задачами с поддержкой планирования, повторных попыток и мониторинга.
- Go - основной язык разработки
- PostgreSQL - хранение задач
- Redis - очередь сообщений и кэширование
- Chi - HTTP router
- Cron - планирование задач
- Prometheus - сбор метрик
- Grafana - визуализация метрик
- Создание и управление задачами
- Приоритизация задач (1-10) 🆕
- Планирование задач по cron выражению
- Автоматические повторные попытки при ошибках
- Истекание срока действия задач
- Распределенный семафор через Redis для контроля параллелизма 🆕
- Webhook task handler для HTTP запросов 🆕
- Dashboard API с статистикой и фильтрацией 🆕
- REST API
- Health checks
- Расширенные метрики производительности (Prometheus)
docker-compose up -dmake migrate-upCONFIG_PATH=config/local.yaml go run cmd/api/main.gogo run cmd/worker/worker.goGET /health- проверка состояния системыGET /ready- проверка готовности к работе
GET /metrics- метрики в формате Prometheus
POST /api/v1/tasks- создание задачи (с поддержкой priority)GET /api/v1/tasks/{id}- получение задачи по ID
GET /api/v1/dashboard/stats- статистика по задачамGET /api/v1/dashboard/tasks- список задач с фильтрацией и пагинацией
curl -X POST http://localhost:8080/api/v1/tasks \
-H "Content-Type: application/json" \
-d '{
"title": "Test Task",
"type": "email",
"payload": "{\"to\":\"test@example.com\",\"subject\":\"Hello\",\"body\":\"Test message\"}",
"cron_expr": "*/5 * * * *"
}'docker-compose -f docker-compose.monitoring.yml up -d- Prometheus: http://localhost:9090
- Grafana: http://localhost:3000 (admin/admin)
# Запуск сервера
make run-server
# Запуск worker
make run-worker
# Запуск всех миграций
make migrate-up
# Откат всех миграций
make migrate-down
# Линтинг
make lint