Второе задание – написать REST-сервис на Python (подробное описание в документе – https://yadi.sk/i/dA9umaGbQdMNLw).
Реализованы все 5 обработчиков. Производится валидация входных данных.
Библиотеки python3
- flask
- flask-sqlalchemy
- marshmallow
- numpy
Проект сделан на фреймворке Flask с расширением flask-sqlalchemy. Для валидации данных применяется библиотека marshmallow.
numpy используется для вычисления персентилей .
Требуется установить необходимые библиотеки.
pip3 install flask flask-sqlalchemy marshmallow numpy
В папке с кодом из этого репозитория выполнить файл server_rest_api.py
python3 server_rest_api.py
Для тестов потребуются дополнительнительная библиотека pytest с расширением pytest-timeout.
pip3 install pytest pytest-timeout
Запуск тестов осуществляется командой pytest.
pytest
Код тестов располагается в файле test_app.py, дополнительные файлы с запросами в папке tests.
Автоматическое возобновление работы REST API после перезагрузки виртуальной машины.
На виртуальной машине REST-сервис добавлен в crontab с директивой @reboot и запускается автоматически после рестарта машины