Skip to content

Job worker для обработки фоновых задач

Notifications You must be signed in to change notification settings

OlesiaBV/Practice

Repository files navigation

Описание проекта

Проект представляет собой легкую, отказоустойчивую систему для управления фоновыми задачами. Реализованы основные функции: создание задач, получение их статуса, обработка в параллельном режиме и перезапуск невыполненных задач. Приложение успешно интегрировано с базой данных PostgreSQL и запускается в Docker-контейнерах.

Основной функционал

  1. Создание задачи:

    • Endpoint: POST /jobs
    • Функционал: пользователь может добавить задачу в очередь, указав её имя и данные в формате JSON.
    • Хранимые параметры: идентификатор задачи (id), имя (name), данные (data), статус (status), приоритет (priority), временные метки создания (created_at) и обновления (updated_at).
  2. Получение статуса задачи:

    • Endpoint: GET /jobs/{id}
    • Функционал: пользователь может запросить текущий статус задачи по её идентификатору.
  3. Обработка задач:

    • Реализованы несколько воркеров для параллельной обработки задач.
    • Перезапуск невыполненных задач (например, при возникновении ошибки или таймаута).
  4. Гибкая настройка:

    • Настройка таймаутов, количества повторных попыток выполнения задачи (retries) и пауз между попытками.
    • Максимальное время выполнения задачи: 3 секунды.
  5. Запуск системы:

    • Система запускается в Docker-контейнерах с использованием docker-compose.

About

Job worker для обработки фоновых задач

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published