Saltar a contenido

Dashboard de Administración

El middleware incluye un dashboard web para monitoreo y control.

Acceso

http://localhost:8080/admin

Vista General

┌─────────────────────────────────────────────────────────────────┐
│  ERP-WMS Sync Admin                        Last update: 14:32:45│
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  Queue Stats                                                    │
│  ┌─────────┬─────────┬───────────┬────────┬─────────┐          │
│  │ Waiting │ Active  │ Completed │ Failed │ Delayed │          │
│  │    5    │    2    │   1,234   │   3    │    0    │          │
│  └─────────┴─────────┴───────────┴────────┴─────────┘          │
│                                                                 │
│  Sources: tango, tango-development, wms-source                  │
│  Destinations: wms, wms-development, mysql-web, tango           │
│                                                                 │
├─────────────────────────────────────────────────────────────────┤
│  Sync Flows                                                     │
│  ┌────────────┬─────────┬───────────┬─────────┬────────┬──────┐│
│  │ Flow       │ Status  │ Last Run  │ Avg     │ P95    │ Ctrl ││
│  ├────────────┼─────────┼───────────┼─────────┼────────┼──────┤│
│  │ articulos  │ Running │ 14:32:00  │ 1.2s    │ 2.1s   │ ⏸🔢↻⟳🗑││
│  │ clientes   │ Paused  │ 14:30:00  │ 0.4s    │ 0.8s   │ ▶🔢↻⟳🗑││
│  │ pedidos    │ 3/5     │ 14:31:30  │ 0.8s    │ 1.5s   │ ⏸🔢↻⟳🗑││
│  └────────────┴─────────┴───────────┴─────────┴────────┴──────┘│
│                                                                 │
├─────────────────────────────────────────────────────────────────┤
│  Sync Individual                                                │
│  Flow: [articulos ▼]  PK: [ART001     ]  [Sync Item]           │
│                                                                 │
├─────────────────────────────────────────────────────────────────┤
│  Activity Log                                                   │
│  14:32:45 - Sync articulos completed                            │
│  14:32:00 - Flow pedidos: 3/5 runs                              │
│  14:31:30 - Error in clientes: timeout                          │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Secciones

Queue Stats

Muestra el estado de la cola BullMQ:

Stat Descripción
Waiting Jobs esperando procesamiento
Active Jobs en ejecución
Completed Jobs completados exitosamente
Failed Jobs fallidos (después de todos los reintentos)
Delayed Jobs programados para más tarde

Sources y Destinations

Lista de adaptadores registrados.

Sync Flows

Tabla con todos los flows y sus métricas:

Columna Descripción
Flow Nombre del flow
Status Running / Paused / N/M (limitado)
Last Run Última ejecución
Avg Duración promedio
P95 Percentil 95 de duración
Ctrl Botones de control

Controles

Botón Acción
⏸ / ▶ Pause / Resume
🔢 Establecer límite de ejecuciones
Sync ahora (sin limpiar cache)
Resync (limpiar cache + sync)
🗑 Reset (solo limpiar cache)

Sync Individual

Sincronizar un item específico por PK:

  1. Seleccionar flow del dropdown
  2. Ingresar Primary Key
  3. Click en "Sync Item"

Útil para testing sin ejecutar todo el flow.

Activity Log

Log en tiempo real de acciones realizadas.

Click en cualquier fila de flow para ver detalles:

┌─────────────────────────────────────────┐
│  articulos - Details                  X │
├─────────────────────────────────────────┤
│                                         │
│  Last Run                               │
│  ────────────────────────────────────   │
│  Timestamp:    08/01/2026, 14:32:00     │
│  Duration:     1,234 ms                 │
│  Rows Found:   35,000                   │
│  Changes:      15                       │
│  Jobs Created: 30                       │
│                                         │
│  Timings Breakdown                      │
│  ────────────────────────────────────   │
│  Query:        800 ms                   │
│  Transform:    50 ms                    │
│  Compare Hash: 200 ms                   │
│  Detect Del:   50 ms                    │
│  Enqueue:      100 ms                   │
│  Save Hashes:  34 ms                    │
│                                         │
│  Statistics                             │
│  ────────────────────────────────────   │
│  Total Runs:   500                      │
│  Total Errors: 2                        │
│  Avg Duration: 1,234 ms                 │
│  P95 Duration: 2,100 ms                 │
│                                         │
└─────────────────────────────────────────┘

Bull Board

Acceder a http://localhost:8080/admin/queues para gestión detallada:

flowchart LR
    A[Dashboard] --> B["/admin"]
    A --> C["/admin/queues"]

    B --> D[Vista general]
    B --> E[Control de flows]

    C --> F[Lista de jobs]
    C --> G[Retry jobs]
    C --> H[Limpiar completados]
    C --> I[Ver errores]

Funcionalidades Bull Board

  • Ver jobs por estado: Waiting, Active, Completed, Failed, Delayed
  • Detalles de job: Data, errores, intentos
  • Retry manual: Reintentar jobs fallidos
  • Limpiar: Eliminar jobs completados/fallidos
  • Pausar cola: Pausar todo el procesamiento

Formato de Fechas

Todas las fechas se muestran en formato argentino 24h:

08/01/2026, 14:32:45

Auto-refresh

El dashboard actualiza automáticamente:

  • Stats de cola: cada 5 segundos
  • Tabla de flows: cada 10 segundos
  • Activity log: en tiempo real

Acceso Remoto

El dashboard solo escucha en 127.0.0.1. Para acceso remoto, usar SSH tunnel:

ssh -L 8080:127.0.0.1:8080 usuario@servidor

Luego abrir http://localhost:8080/admin en navegador local.