[DRON] Heartbeat con output acumulado en Bitácora Web
Mejora en el sistema de latidos de los drones para mostrar el progreso acumulado en lugar de solo la última línea. Cambios realizados: - ejecutor.rb: Acumulación de output en array accumulated_out[] - actualizar_heartbeat_web(): Muestra últimas 15 líneas en bloque ```text - A01.P009: Documentada Fase F1.5b con ejemplo técnico - A04.P006: Actualizado plan DASUTEN con mejora y lección aprendida Beneficio: Visibilidad completa del progreso de drones multi-paso (ej: [1/3], [2/3], [3/3] en pipelines de backup/restore) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
1bc6c94f78
commit
4a0cdd883e
@@ -3,10 +3,10 @@
|
||||
> **Ámbito:** A04 — dtic-DASUTEN
|
||||
|
||||
**Código:** A04.P006
|
||||
**Fecha:** 14 de abril de 2026
|
||||
**Fecha:** 15 de abril de 2026
|
||||
**Autor:** Sistema ADN
|
||||
**Versión:** 1.0
|
||||
**Estado:** 🚧 EN EJECUCIÓN (Pipeline diferencial implementado, pendiente integración bkps)
|
||||
**Versión:** 1.2
|
||||
**Estado:** ✅ COMPLETADO (Pipeline completo, diferencial y latidos acumulados)
|
||||
**Dependencia:** A04.P005 (DASUTEN sin DC), A03.P002 (Automatización Backups)
|
||||
|
||||
## 📊 Progreso
|
||||
@@ -17,6 +17,7 @@
|
||||
| **Fase 2: Pipeline Google Drive** | ✅ Completado | 100% |
|
||||
| **Fase 3: Pipeline Diferencial** | ✅ Completado | 100% |
|
||||
| **Fase 4: Integración BKPs** | ✅ Completado | 100% |
|
||||
| **Fase 5: Mejora de Latidos** | ✅ Completado | 100% |
|
||||
|
||||
## 🎯 Objetivo
|
||||
|
||||
@@ -240,6 +241,7 @@ file_info = DasuExecutor.get_file_info_on_fenix(client, 'X:\backup.bak')
|
||||
- **Pipeline Diferencial:** [A04.P005_DASUTEN-sin-DC.md](A04.P005_DASUTEN-sin-DC.md#fase-8b-refresco-final-de-bd)
|
||||
- **Drones:** `adn/tools/cli/drones/`
|
||||
- **Bitácoras:** `./adn/tools/run db evento:listar --ambito dtic-DASUTEN`
|
||||
- **Evolución Dron ADN:** [A01.P009_Evolucion-Dron-ADN.md](../dtic-ADN/A01.P009_Evolucion-Dron-ADN.md) — Heartbeat acumulado
|
||||
|
||||
## 📝 Lecciones Aprendidas
|
||||
|
||||
@@ -251,3 +253,36 @@ file_info = DasuExecutor.get_file_info_on_fenix(client, 'X:\backup.bak')
|
||||
| 2026-04-14 | Pipeline diferencial: 0.39 MB vs 1.3 GB completo | 90% más rápido para refrescos diarios |
|
||||
| 2026-04-14 | Un solo destino (X:) vs 3 directorios | Menos puntos de falla, más simple |
|
||||
| 2026-04-14 | Módulo común DasuExecutor: 6 drones, 1 solo patrón | -52% código, mantenibilidad |
|
||||
| 2026-04-15 | Heartbeat con output acumulado en Bitácora Web | Visibilidad completa del progreso de drones multi-paso |
|
||||
|
||||
## 📈 Mejora de Latidos/Acumulados (2026-04-15)
|
||||
|
||||
**Problema:** Los drones de pipeline (ej: `download`, `restaurar`, `verificar`) muestran progreso tipo `[1/3]`, `[2/3]`, `[3/3]`, pero la bitácora web solo mostraba la última línea, perdiendo el contexto del progreso.
|
||||
|
||||
**Solución:** Modificar `Ejecutor#ejecutar_comando` en `adn/tools/cli/dron/ejecutor.rb` para acumular todo el output y mostrar las últimas 15 líneas en el heartbeat web.
|
||||
|
||||
**Resultado:** La Bitácora Web ahora muestra el progreso completo acumulado:
|
||||
|
||||
```
|
||||
🛸 Download desde Google Drive (`dron_152045_789`)
|
||||
├─ Comando: `ruby dasuten_download_drive-dasu-sql4.rb`
|
||||
└─ ❤️ 2m 30s — heartbeat #5
|
||||
|
||||
```text
|
||||
[*] Dron: Download desde Google Drive
|
||||
Nodo: dasu-sql4
|
||||
Drive ruta: rmonla-GDrive:drive_bkps-dasu/sysdasuten.bak
|
||||
File ID: 1P0ci...
|
||||
Destino: F:\BACKUP\sysdasuten.bak
|
||||
|
||||
[1/3] Iniciando descarga con Rclone Nativo...
|
||||
[2/3] Descargando...
|
||||
[+] Descarga en 45.2s
|
||||
[3/3] Verificando...
|
||||
Tamano: 1.33 MB
|
||||
```
|
||||
```
|
||||
|
||||
**Impacto:** Visibilidad en tiempo real del progreso de cada paso del pipeline, no solo la última línea.
|
||||
|
||||
**Documentación:** La mejora se documentó en [A01.P009_Evolucion-Dron-ADN.md](../dtic-ADN/A01.P009_Evolucion-Dron-ADN.md) como Fase F1.5b.
|
||||
|
||||
Reference in New Issue
Block a user