Nivel 130: Integración de API y Métricas de Negocio
Objetivo
Continuar el ascenso por La Senda del Maestro. En este nivel, realizamos una demostración limpia y potente de integración con API y registro de métricas personalizadas.
Conceptos Clave
Métricas de Negocio: Uso de Metric.record para capturar KPIs que no son solo técnicos.
Integración API: Consolidación del flujo de registro de procesos remotos.
Trazabilidad: Capacidad de monitorizar cada detalle del pipeline.
¿Qué estamos probando?
Validamos el ciclo de vida de un pipeline con observabilidad: 1. Registro del proceso en el sistema. 2. Ejecución de pasos con metadatos. 3. Captura de métricas de negocio en tiempo real. 4. Finalización exitosa.
Código Fuente
"""
DEMO LEVEL 130: API Completo (Demo Final)
-----------------------------------
Adds: Final demo integrating everything.
Continues: L129.
DIAGRAM:
Demo completo de API con pipeline
"""
from wpipe import Pipeline, step, Metric
from wpipe.api_client import APIClient
@step(name="start")
def start(data: dict) -> None:
"""Start step.
Args:
data: Input data for the step.
Returns:
dict: Result of the step.
"""
print("🔑 Starting API system...")
return {"iniciado": True}
@step(name="process")
def process(data: dict) -> None:
"""Process step.
Args:
data: Input data for the step.
Returns:
dict: Result of the step.
"""
print("⚡ Processing data...")
Metric.record("api_calls", 1)
return {"procesado": True}
if __name__ == "__main__":
print("=" * 50)
print("🎉 DEMO FINAL - API Integration")
print("=" * 50)
pipe = Pipeline(pipeline_name="viaje_l130", verbose=True)
pipe.set_steps([start, process])
pipe.run({})
print("\n✅ Demo completed with success!")
print(f"📊 Metric: api_calls = 1")
Resultado de Ejecución
🔑 Starting API system… ⚡ Processing data… [METRIC] api_calls: 1 viaje_l130 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
✅ Demo completed with success! 📊 Metric: api_calls = 1