Esta aplicación Flask permite gestionar una biblioteca personal y envía notificaciones por correo electrónico cuando se agregan o eliminan libros. El envío de correos se realiza como tareas asíncronas utilizando Celery y KeyDB (compatible con Redis) como broker de mensajes.
- Python 3.11+
- KeyDB o Redis accesible mediante
CELERY_BROKER_URL - Servidor SMTP accesible para enviar correos
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .envEdita el archivo .env con las credenciales de tu servidor SMTP y la URL de
KeyDB. Al iniciar la aplicación por primera vez se creará automáticamente la
base de datos SQLite definida en la configuración.
En una terminal inicia la aplicación Flask:
flask --app manage.py runEn otra terminal arranca el worker de Celery apuntando al mismo archivo de configuración:
celery -A celery_app.celery worker --loglevel=infoPara producción puedes ejecutar la aplicación con Gunicorn y un worker de Celery independiente:
gunicorn wsgi:app
celery -A celery_app.celery worker --loglevel=infoAsegúrate de que Gunicorn y Celery compartan las mismas variables de entorno. Cuando uses Nginx como proxy reverso únicamente redirige las peticiones HTTP a Gunicorn.