Разработан 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
- Для загрузки и сохранения файлов:
0.0.0.0/api/v1/upload
- Для просмотра списка всех файлов со статусом их обработки:
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.
- Возвращение соответствующих сообщений об ошибках.
Сомов Глеб
- Mail.ru - gleb_somov@mail.ru
- Telegram -