Skip to content

SGGM/file_loader_and_processor

Repository files navigation

Сервис по загрузке и обработке файлов

PyPI - Python Version

Содержание

Описание

Разработан API сервис, позволяющий загружать файлы на сервер, а затем асинхронно обрабатывать их с использованием Celery.
Использованный стек технологий: Python3, Django, Django_rest_framework, PostgreSQL, Celery, Redis.
В системе реализована искусственная задержка обработки файла в 10 секунд для демонстрации работы Celery.

Установка

git clone github.com/SGGM/file_loader_and_processor.git

Запуск

cd file_loader_and_processor/
docker-compose up --build -d

Эндпоинты

  1. Для загрузки и сохранения файлов:
0.0.0.0/api/v1/upload
  1. Для просмотра списка всех файлов со статусом их обработки:
0.0.0.0/api/v1/files

Выполненные требования к системе

Основные

  • Реализована модель File со следующими полями:
{
    "id": IntField,
    "file": FileField,
    "uploaded_at": DateTimeField,
    "processed": BooleanField
}
  • Реализован сериализатор для модели File.
  • Создан API эндпоинт upload/, позволяющий загружать файлы на сервер.
  • С использованием Celery реализован механизм асинхронной обработки файла.
  • Создан API эндпоинт files/, возвращающий список всех файлов со статусом обработки.

Дополнительные

  • Развертывание проекта происходит при помощи docker и docker-compose.
  • Возвращение соответствующих сообщений об ошибках.

Контакты

Сомов Глеб

  1. Mail.ru - gleb_somov@mail.ru
  2. Telegram - Telegram

About

File loader and processor service

Topics

Resources

Stars

Watchers

Forks