Nivel 87: demo_level87.py
Este es el nivel 87 del tour de aprendizaje.
Código Fuente
"""
DEMO LEVEL 87: ResourceMonitor con Proceso Pesado
---------------------------------------------
Adds: Monitoreo con proceso que consume recursos.
Continues: L86.
DIAGRAM:
with ResourceMonitor() --> proceso pesado
"""
import time
from wpipe import Pipeline, ResourceMonitor, step
@step(name="proceso_pesado")
def proceso_pesado(data: dict) -> None:
"""Proceso pesado step.
Args:
data: Input data for the step.
Returns:
dict: Result of the step.
"""
print("🔄 Procesando...")
time.sleep(0.2)
print("✅ Completado")
return {"ok": True}
if __name__ == "__main__":
print(">>> Proceso monitorizado...")
with ResourceMonitor("Viaje_L87") as monitor:
pipe = Pipeline(pipeline_name="viaje_l87_heavyprocess", verbose=True)
pipe.set_steps([proceso_pesado])
pipe.run({})
summary = monitor.get_summary()
print(f"\n📊 Estado final:")
print(f" RAM: {summary['peak_ram_mb']:.1f} MB")
print(f" CPU: {summary['avg_cpu_percent']:.1f}%")
Resultado de Ejecución
>>> Proceso monitorizado... 🔄 Procesando... ✅ Completado viaje_l87_heavyprocess ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
- 📊 Estado final:
RAM: 49.2 MB CPU: 0.0%