Для запуска данного микросервиса на Вашем ПК необходимо выполнить следующую команду:
docker-compose up --build
Важно! У Вас в корневой директории проекта должен быть файл .env с переменными окружения, соответствующими по количеству и названию тем, что представлены в качестве аргументов класса Settings в модуле settings.py
Запустите проект согласно предыдущему шагу. Перейдите на http://localhost:(порт, который вы указали для проброса с контейнера приложения на хост)/ docs
Перед Вами откроется Swagger UI, после чего вы можете протестировать эндпоинт /analyze.
Анализ видео займёт некоторое время. После чего сервер выдаст Вам результат.
Для проверки того, что сервер сохранил результат в БД выполните следующие действия:
- Откройте терминал, в моем случае это Powershell и введите команды:
docker-compose exec -it {Ваше название сервиса базы данных} bash
psql -U postgres -d {Ваше название базы данных}
psql# select * from video_analysis;
psql# select * from violations;
Вы увидите информацию о нарушениях (их может не быть, так как мы не использовали никакой модели).
Позагружайте разные видео формата .mp4 и вы увидите разные результаты.
Вы также можете протестировать сервис через CURL:
curl -X POST "http://localhost:8000/analyze" \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "file=@/path/to/video.mp4"
В моем случае порт = 8000, в Вашем случае он может быть другой. Не забудьте указать валидный путь к видео при запуске утилиты curl.
После запуска эндпоинта POST /analyze несколько раз с разными видео накопите метрики.
При запущенной системе вы можете перейти на http://localhost:9090, чтобы попасть в GUI Prometheus. Там вы сможете просмотреть интересующие вас метрики, например videos_processed_total -> execute.
"Сырые" метрики, откуда Prometheus их берет из приложения, находятся на http://localhost:8000/metrics. Тут вы их можете просмотреть в сыром виде.