# main.py import asyncio import uvicorn from entrypoint.init_db import init_db from backend.backend_domains.main import app as fastapi_app async def main_async(): # Inicia tareas de fondo controladas desde aquí print("🔄 Lanzando tareas en segundo plano...") tareas = [] # Configura y lanza el servidor FastAPI print("🚀 Lanzando servidor FastAPI...") config = uvicorn.Config(app=fastapi_app, host="0.0.0.0", port=8000, reload=True) server = uvicorn.Server(config) # Ejecuta servidor (bloqueante) await server.serve() # Cancela tareas si se cae el servidor for task in tareas: task.cancel() def main(): print("🛠️ Inicializando base de datos...") init_db() print("✅ Iniciando sistema...") asyncio.run(main_async()) if __name__ == "__main__": main()