Files
egutierrez 988e901066 docs: params/output semántico en 506 funciones para composabilidad
Añade campos params y output al frontmatter YAML de las 506 funciones del registry.
Cada parámetro tiene descripción semántica (qué representa, unidades, rango típico)
y cada función describe qué produce su output. Permite a agentes razonar sobre
cadenas de composición (ej: prices → log_return → sharpe_ratio) sin leer código.
2026-04-05 18:45:16 +02:00

1.6 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
health_check_http function go infra 1.0.0 impure func HealthCheckHTTP(url string, timeoutSecs, intervalMs int) error Hace polling HTTP GET a un endpoint hasta recibir status 200 o hasta agotar el timeout. Útil para esperar que un servicio levante antes de continuar un pipeline.
http
health
check
polling
wait
infra
false error_go_core
fmt
net/http
time
name desc
url URL del endpoint HTTP a verificar (GET)
name desc
timeoutSecs tiempo maximo en segundos antes de agotar los intentos
name desc
intervalMs intervalo en milisegundos entre intentos de verificacion
nil si el endpoint responde 200, error si se agota el timeout true
retorna nil cuando el servidor responde 200
retorna error si el timeout se agota
respeta el intervalo entre intentos
functions/infra/health_check_http_test.go functions/infra/health_check_http.go

Ejemplo

// Esperar hasta 60s a que Metabase levante, polling cada 2s
err := HealthCheckHTTP("http://localhost:3000/api/health", 60, 2000)
if err != nil {
    log.Fatal("Servicio no disponible:", err)
}
fmt.Println("Servicio listo")

Notas

Usa solo net/http de la stdlib, sin dependencias externas. El cliente HTTP tiene timeout de intervalMs + 500ms para no bloquear el loop. Retorna el ultimo error si el timeout expira. No sigue redirects especiales — cualquier respuesta 200 OK es exito.