AgentShield
Startup Sequence

Arranque Inteligente

main.py orquesta un 'Warmup' crítico antes de aceptar tráfico, garantizando latencia consistente desde el segundo cero.

Health Check

El endpoint /health devuelve "warming_up" (503) hasta que MODELS_LOADED=true. Kubernetes no enviará tráfico real hasta entonces.

¿Por qué Warmup?

Los modelos de embeddings y PII tardan segundos en cargarse en memoria GPU/CPU. Si aceptamos tráfico antes, el primer usuario sufriría un timeout o latencia extrema.


async def lifespan(app: FastAPI):
    # ═══ STARTUP ═══

    # 1. Warmup modelos ML (Evita latencia en 1er usuario)
    await pii_guard.redact_pii_sync()
    await reranker.get_reranker_model()
    
    # 2. Recovery financiero (WAL)
    asyncio.create_task(recover_pending_charges())
    
    # 3. Sync de precios de mercado
    asyncio.create_task(update_market_rules())

    # 4. Marcar listo para K8s
    app.state.MODELS_LOADED = True
    
    yield # Servidor activo recibiendo tráfico

    # ═══ SHUTDOWN ═══
    await redis_client.close()
    await supabase.close()
python