Implementa:
- Local: FastAPI + Celery + Redis + MongoDB (Docker Compose)
- AWS: API Gateway + Lambda + SQS + DynamoDB (SAM)
Defina o modo de execução em .env:
RUN_MODE=local→ Stack DockerizadaRUN_MODE=aws→ Stack Serverless
cp .env.sample .env
# edite conforme necessário; defina RUN_MODE=local ou RUN_MODE=aws./run.sh # Linux/macOS
run.cmd # Windows
# ou: make upRUN_MODE=aws ./deploy.sh # Linux/macOS
set RUN_MODE=aws & deploy.cmd # Windows
# ou: make aws-deploy./test.sh # Linux/macOS
test.cmd # Windows
# ou: make test- API: http://localhost:8000
- Swagger: http://localhost:8000/docs
- API: http://127.0.0.1:3000 (via
sam local start-api)
O projeto utiliza o Celery para processamento assíncrono de tarefas, usando o Redis como broker e backend.
- O Celery executa tarefas em background, como processamento de dados ou envio de e-mails.
- No modo local, o worker Celery é iniciado automaticamente pelo Docker Compose.
- Para rodar manualmente (fora do Docker), use:
celery -A processor.celery_app worker --loglevel=info- As tarefas estão definidas em
processor/tasks.py. - O FastAPI pode disparar tarefas Celery via endpoints.
- Para monitorar as tarefas, acesse o log do container
workerou utilize ferramentas como Flower.
- Prefira AWS SSO / papéis IAM; as chaves do
.envsão apenas para uso local. - O stack AWS está em
aws-sam/comtemplate.yamle fontes das Lambdas.