# Análisis de Lights Out

Cuando un registro resulta en una excepción, después de que se crea el grupo de excepción y se insertan todas las excepciones, este pasará por un análisis de Lights Out.

{% hint style="warning" %}
El análisis de Lights Out es una funcionalidad disponible solo a partir de las versiones 5 del GBDS
{% endhint %}

Una excepción será analizada por Lights Out cuando:

* Un grupo de excepciones tenga todos los tratamientos biométricos finalizados
  * En ese caso, el análisis y tratamiento de Lights Out se sincronizan con el tratamiento en la API.
* Cuando un registro se termina en el Cluster del GBDS, genera una excepción y el grupo de excepción posee Target BIOGRAPHIC
  * En ese caso, el GBDS Cluster marcará el grupo de excepción como READY para el análisis de Lights Out en la columna `lights_out_status` en `gbds.exception_group`  y el análisis se realiza de manera asíncrona en la API después
  * El grupo de excepción puede tener una o más excepciones.

### Hilo de Lights Out

Para analizar grupos de excepción para Lights Out, la API tendrá un hilo de servicio que se ejecutará en la API clasificada como `LEADER` en la tabla `gbds.apis` cuando:

* `gbds.lightsout.enabled` sea true
* Y los grupos de excepción estén marcados como READY en la columna `lights_out_status` de la tabla `gbds.exception_group`

{% hint style="info" %}
La API se comportará como LEADER solo si el hostname y el puerto configurados son iguales a los descritos en la tabla `gbds.apis`
{% endhint %}

### Análisis de Lights Out

Dado que la API clasificada como LEADER está ejecutándose y se ha seleccionado un grupo de excepción marcado como READY para análisis, los requisitos para que este grupo sea tratado automáticamente son:

* El grupo de excepción debe ser de registro (enroll)
* El grupo de excepción no debe tener conflicto de ID de claves en sus transacciones (incluido entrante)
  * Claves configuradas en `gbds.lightsout.enroll.unify.weakKeys` no son consideradas
* El grupo de excepción debe tener datos biográficos coincidentes entre todas sus transacciones (los IDs biográficos son configurables)
  * Las claves biográficas que deben coincidir están configuradas en `gbds.lightsout.enroll.unify.matchBiographics`&#x20;
  * Para que coincidan, **valor e ID** deben ser iguales (los acentos no se diferencian en el valor)

### Tratamiento de Lights Out

El grupo será tratado automáticamente una vez que todos los requisitos anteriores se cumplan

#### KEEP

Se mantendrán:

* Todas las transacciones
* Todas las claves
* Todos los biográficos de todas las transacciones
  * Si hay un conflicto en el ID biográfico, se mantendrá el valor de la última transacción
* Todas las labels están incluidas
* El usuario de tratamiento será `lightsout`&#x20;
* El comentario de tratamiento de grupo se definirá como `Lights out automatic treatment`&#x20;

El grupo de excepción tendrá el criterio usado guardado para referencia futura, pudiendo ser (nonConflitantKeys, weakKeys, matchedBiographics)

### Búsqueda de LightsOut

El estado de un tratamiento de Lights Out puede ser consultado desde la Base de Datos Relacional utilizando la query:

Para agrupar los tratamientos por estado

```sql
SELECT eg.lights_out_status, COUNT(*)
FROM gbds.exception_group eg
group by eg.lights_out_status;
```

Para verificar un grupo individualmente, buscando la fila completa a través del GGUID:

```sql
SELECT * FROM gbds.exception_group eg WHERE eg.gguid = 'xxxx';
```

### Reprocesamiento

Para enviar un grupo de excepción para análisis de Lights Out basta cambiar el estado del grupo en la tabla `gbds.exception_group` a través de la query (alterando el GGUID por el correspondiente):&#x20;

```
UPDATE gbds.exception_group SET lights_out_status = 'READY' WHERE gguid = 'xxxx';
```

{% hint style="danger" %}
No se recomienda alterar grupos que ya fueron procesados por AUTO\_TREAT
{% endhint %}

### Configuraciones

Las configuraciones de la Base de Datos para Lights Out son:

<table><thead><tr><th width="266.09088134765625">Configuración</th><th>Tipo</th><th>Valor predeterminado</th><th>Descripción</th></tr></thead><tbody><tr><td>gbds.lightsout.enabled</td><td>API</td><td>true</td><td>Valor responsable de habilitar el Lights Out</td></tr><tr><td>gbds.lightsout.enroll.unify.weakKeys</td><td>API</td><td>-</td><td>Lista separada por comas que define las claves débiles (no serán consideradas en la verificación de claves)</td></tr><tr><td>gbds.lightsout.enroll.unify.matchBiographics</td><td>API</td><td>-</td><td>Lista separada por comas que define qué biográficos deberán coincidir clave y valor (los acentos no son considerados)</td></tr></tbody></table>

{% hint style="warning" %}
La API debe estar clasificada como LEADER en la tabla `gbds.apis` y debe estar activa
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.griaule.com/gbs/es/configuracion-de-gbds/analisis-de-lights-out.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
