CreaRack-SL

Deep Discovery automático en lotes de tres al Agente (last_batch)

User value

Cuando el re-escaneo automático de un equipo dispara un Deep Discovery (la lectura profunda de sus tablas SNMP propietarias), el Agente local recibía antes UN mensaje WebSocket por cada perfil descubierto. En un evento con decenas de altas simultáneas (un despliegue de puntos de acceso, por ejemplo) eso saturaba la conexión con el Agente. Desde la v1.132.8, el Deep Discovery automático va en un solo lote, de tres en tres, y las tandas del asistente de aprovisionamiento se acumulan en caché hasta la última (last_batch), momento en el que se despachan todas juntas.

Cómo funciona

  • build_deep_discovery_task (extraído en network/services/deep_discovery_dispatch.py) construye la tarea de un perfil; el despacho agrupa de tres en tres con una clave de job única y una ventana de espera proporcional al tamaño del lote.
  • network/services/device_discovery/rescan_hooks.py acumula los perfiles vistos durante las tandas del asistente y solo dispara el despacho real en la última tanda (last_batch=True), evitando lotes parciales.
  • Efecto colateral corregido en el mismo commit (caf615fd): un equipo con varias IP de gestión (visto con el XMS de Xirrus del CCIB — misma MAC en .21 y .22, fichado en tandas distintas) ya no dispara reintentos de re-direccionado ni avisos duplicados; se detecta como el mismo equipo y se deja en paz.

Implementación

  • network/api/common.py + network/api/discovery.py: endpoints que alimentan el despacho por lotes.
  • network/services/device_discovery/provision_stages.py y service.py: enganchan el ciclo del asistente de aprovisionamiento con el nuevo acumulador.
  • static/js/network/auto_provision.js y auto_provision/discovery.js: el frontend del asistente pasa last_batch al backend.
  • Test suite dedicada: tests/network/test_discovery_auto_deep_batch.py (253 líneas) y tests/network/test_discovery_mac_identity.py (dedupe de MAC).

Commits relacionados

  • caf615fd (13-09-2026) — dedupe de MAC con varias IP de gestión, v1.132.7.
  • c740f492 (13-09-2026) — despacho en lote de tres + last_batch, v1.132.8.

Véase también

  • [[feature—wireless—deep-discovery-timestamp]]
  • [[feature—monitoring—deuda-274-tanda-b]]
  • [[incident—20260907—ccib-comando-bloqueante-websocket]]
  • [[entity—monitoring—targetlistout-payload-slim]]
  • [[decision—20260919—agente-reload-targets-rest-en-vez-de-subir-tope-websocket]]
  • [[entity—network—command—unassign-ghost-profiles]]