Projeto com a finalidade de redimensionar uma imagem em segundo plano, este código conta com dois microservices onde um é responsável por receber uma request e encaminhar para uma fila e outro onde realmente redimensiona a imagem.
Esse microserviço recebe uma request em 'form-data' com a imagem e com parâmetros opcionais de width/height. http://localhost:8081/docs
É o microserviço responsável por redimensionar uma imagem, ele funciona de forma passiva onde fica 'escutando' uma fila.
No diretório .docker executar o comando
$ docker-compose up --b
- Docker
- Python 3
- RabbitMQ
- FastAPI
Os testes unitários podem ser executados dentro ou fora do container docker.
$ python -m pytest src/
Após o docker inicializar ele subirá uma API na porta 8081 com o endpoint /resize-image, enviando um POST com a imagem. Se a API retornar 202 - Accepted significa que funcionou.
$ curl --location --request POST 'http://localhost:8081/resize-image' --form 'file=@"/DIRETORIO/DA/IMAGEM.png"'