[A04.P006] Documentado módulo común DasuExecutor
Agregada sección sobre el módulo dasu_executor.rb: - Funciones disponibles y su propósito - Ejemplo de uso - Beneficios de mantenibilidad Agregada lección aprendida sobre refactorización.
This commit is contained in:
@@ -204,6 +204,35 @@ El procesador `Dasuten` fue integrado en `bkps.rb` como un nuevo tipo de tarea:
|
||||
- El siguiente dron lee el JSON del anterior para obtener contexto
|
||||
- Formato: `{"paso": "...", "backup_local": "...", "duracion": N, ...}`
|
||||
|
||||
### Módulo Común: `dasu_executor.rb`
|
||||
|
||||
Para evitar código repetido, los drones que se comunican con `dasu-sql4` o `srvv-fenix` usan el módulo `DasuExecutor`:
|
||||
|
||||
```ruby
|
||||
require_relative 'lib/dasu_executor'
|
||||
|
||||
# Ejecutar PowerShell en dasu-sql4 vía srv-dasu
|
||||
DasuExecutor.execute_ps_on_dasu(ps_script, output_path: 'C:\temp\output.json')
|
||||
|
||||
# Leer JSON desde dasu-sql4
|
||||
resultado = DasuExecutor.read_json_from_dasu('C:\temp\output.json')
|
||||
|
||||
# Verificar archivo en fenix (share X:)
|
||||
file_info = DasuExecutor.get_file_info_on_fenix(client, 'X:\backup.bak')
|
||||
```
|
||||
|
||||
**Funciones disponibles:**
|
||||
|
||||
| Función | Propósito |
|
||||
|---------|-----------|
|
||||
| `execute_ps_on_dasu(ps_script, output_path:)` | Ejecuta PowerShell en dasu-sql4 vía SSH |
|
||||
| `read_json_from_dasu(output_path)` | Lee y parsea JSON desde dasu-sql4 |
|
||||
| `execute_ps_on_fenix(client, ps_script)` | Ejecuta PowerShell en fenix vía xp_cmdshell |
|
||||
| `file_exists_on_fenix?(client, path)` | Verifica si existe archivo en fenix |
|
||||
| `get_file_info_on_fenix(client, path)` | Obtiene tamaño y existencia de archivo |
|
||||
|
||||
**Beneficio:** El patrón SSH/PowerShell se define en **un solo lugar**. Si cambia, se actualiza solo el módulo.
|
||||
|
||||
## 🔗 Referencias
|
||||
|
||||
- **Ámbito A03:** [A03_dtic-BKPs.md](../dtic-BKPs/A03_dtic-BKPs.md)
|
||||
@@ -221,3 +250,4 @@ El procesador `Dasuten` fue integrado en `bkps.rb` como un nuevo tipo de tarea:
|
||||
| 2026-04-14 | Download dron requiere `--file-id` o leer desde upload output | Error por falta de parámetro |
|
||||
| 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 |
|
||||
|
||||
Reference in New Issue
Block a user