Se agrego celery y respuestas instantaneas

This commit is contained in:
2025-08-10 16:26:15 -06:00
parent 03fe18c314
commit 705fa1eb8f
12 changed files with 1569 additions and 13 deletions

19
main.py
View File

@@ -2,8 +2,8 @@ import logging
from fastapi import FastAPI
from core.config import settings
from api.api_v1.api import api_router
from fastapi.middleware.cors import CORSMiddleware
# Configuración inicial del logging (debe estar al inicio del archivo)
# logging.config.dictConfig({
# "version": 1,
@@ -44,7 +44,7 @@ def create_application() -> FastAPI:
"""Función factory para crear la aplicación FastAPI"""
application = FastAPI(
title=settings.APP_NAME,
description="EFC Microservice - Un microservicio profesional por AduanaSoft",
description="EFC Microservice - Un microservicio profesional por AduanaSoft con soporte para tareas asíncronas",
version=settings.APP_VERSION,
debug=settings.DEBUG,
)
@@ -66,6 +66,21 @@ app.add_middleware(
allow_methods=["*"],
allow_headers=["*"],
)
# Event handlers para Celery
@app.on_event("startup")
async def startup_event():
"""Inicialización al arrancar la aplicación"""
logger = logging.getLogger(__name__)
logger.info("Iniciando EFC Microservice con soporte asíncrono")
logger.info("Celery configurado para tareas en segundo plano")
@app.on_event("shutdown")
async def shutdown_event():
"""Limpieza al cerrar la aplicación"""
logger = logging.getLogger(__name__)
logger.info("Cerrando EFC Microservice")
if __name__ == "__main__":
import uvicorn
uvicorn.run(