SKILL.md
requesttimeoutmanagement
Gestión de timeouts configurables por tipo de endpoint para garantizar que ninguna petición bloquee recursos indefinidamente. Alineado con el SLO de 8 segundos del pipeline KYC.
When to use
Usar en el apigatewayagent para establecer timeouts diferenciados por endpoint. El timeout total de verificación debe ser < 8s; endpoints de consulta < 2s.
Instructions
- Configurar timeouts en Nginx por location:
``nginx location /v1/verify { proxyreadtimeout 8s; proxyconnecttimeout 2s; proxysendtimeout 2s; } location /v1/status { proxyreadtimeout 2s; } ``
- Configurar timeout global de keepalive:
keepalive_timeout 65s. - En FastAPI, usar asyncio timeout para cancelación limpia:
``python async with asyncio.timeout(7.5): # 0.5s margen para response result = await orchestrator.verify(session) ``
- Si timeout, devolver 504 Gateway Timeout con
session_idpara retry. - Registrar timeouts en métricas:
gatewaytimeoutstotal{endpoint}. - Alertar si tasa de timeouts > 1% en ventana de 5 minutos.
Notes
- El timeout del gateway debe ser mayor que el del backend para evitar cortar respuestas válidas.
- Implementar client-side timeout también en los SDKs de clientes.
- Los timeouts deben ser configurables por entorno (dev: más largos, prod: estrictos).