Микросервис помогает работе основного сайта, сделанного на CMS и обслуживает запросы на скачивание архивов с файлами. Микросервис не умеет ничего, кроме упаковки файлов в архив. Закачиваются файлы на сервер через FTP или админку CMS.
Создание архива происходит на лету по запросу от пользователя. Архив по мере упаковки сразу отправляется пользователю на скачивание.
От неавторизованного доступа архив защищен хешем в адресе ссылки на скачивание, например: http://host.ru/archive/7kna/
. Хеш задается названием каталога с файлами, выглядит структура каталога так:
- photos
- 7kna
- 1.jpg
- 2.jpg
- 3.jpg
- rur2
- 1.jpg
- 2.jpg
ENABLE_LOGGING
- управление логгированием (0 - выключить, 1 - включить)
RESPONSE_DELAY
- задержка ответа в секундах
Для работы микросервиса нужен Python версии не ниже 3.6.
-
Заполнить переменные окружения.
-
Установить зависимости:
pip install -r requirements.txt
Запускают скрипт со следующим необязательным параметром:
-p, --photos
Путь к каталогу с фотографиями. По умолчанию test_photos/
python server.py -p photos
Сервер запустится на порту 8080, чтобы проверить его работу перейдите в браузере на страницу http://127.0.0.1:8080/.
python server.py
После этого перенаправить на микросервис запросы, начинающиеся с /archive/
. Например:
GET http://host.ru/archive/7kna/
GET http://host.ru/archive/rur2/
Код написан в учебных целях — это урок в курсе по Python и веб-разработке на сайте Devman.