Explorador de Endpoints
Scrapers concurrentes en paralelo con tolerancia a fallos. El primero en responder gana; si uno falla, salta automáticamente al siguiente.
🏁 Telemetría y Liga de Scrapers
Monitor en tiempo real del rendimiento de cada scraper, victorias en carreras paralelas, tasas de error y tiempos de respuesta.
📘 Arquitectura & Guía
Cómo funciona el sistema de carga dinámica sin imports y la carrera de scrapers con fallback.
📁 Estructura de Endpoints Automática
Cada endpoint vive en su propia carpeta dentro de apis/. No necesitas añadir import ni require en ninguna parte del servidor; todo es descubierto y cargado automáticamente al vuelo:
apis/
mi_endpoint/
meta.json # (Opcional) Título, descripción, parámetros
1.js # Scraper primario
2.js # Scraper secundario
3.js # Scraper de reserva (detectado automáticamente)
Si agregas 4.js o 5.ts, el motor lo integrará en la carrera inmediatamente sin reiniciar el servidor.
🏎️ Algoritmo de Carrera y Fallback
- Ejecución Simultánea: Cuando llega una solicitud a
/api/:endpoint, todos los scrapers de la carpeta se disparan al mismo tiempo en paralelo. - El primero con éxito gana: El scraper que responda primero con datos válidos es coronado ganador y entrega la respuesta al cliente de inmediato.
- Salto automático por error: Si un scraper responde con error o falla, no detiene la solicitud; la carrera sigue abierta y salta al siguiente que termine con éxito.
- Abort de solicitudes lentas: Cuando un scraper gana, los demás son cancelados a través de
AbortSignalpara ahorrar recursos.