Este repositório contém o microserviço de notificações do projeto FIAP X, responsável por enviar e-mails para os usuários conforme os status de processamento dos vídeos. Ele consome mensagens da fila notification_queue
(RabbitMQ) e envia as notificações por e-mail via SMTP.
O serviço é utilizado para informar o usuário sobre o início, sucesso ou falha no processamento dos vídeos enviados.
- Python (Execução do consumidor)
- Pika (Cliente RabbitMQ)
- SMTP (Envio de e-mails com
smtplib
) - Docker e Docker Compose (Containerização)
O Notifier Service consome mensagens de status publicadas pelo processor-service
após a extração de frames, e envia e-mails conforme a situação.
notifier-service/
├── app/
│ ├── main.py # Inicializa o consumidor
│ ├── consumer.py # Consome mensagens da fila e executa o envio
│ └── email_service.py # Envia e-mails via SMTP
├── requirements.txt # Dependências do Python
├── Dockerfile # Container do serviço
└── docker-compose.yml # Orquestração local (opcional)
- O
processor-service
envia uma mensagem para a filanotification_queue
com o e-mail do usuário, ID do vídeo e status (processing
,done
,error
) - O
notifier-service
consome essa mensagem - Um e-mail é enviado para o usuário com o assunto e corpo adequados
{
"status": "error",
"email": "user@example.com",
"video_id": 4,
"message": "Erro ao processar vídeo: arquivo corrompido"
}
SMTP_HOST=smtp.mailtrap.io
SMTP_PORT=587
SMTP_USER=seu_usuario_mailtrap
SMTP_PASS=sua_senha_mailtrap
FROM_EMAIL=notifier@fiapx.com
docker compose up notifier