En este tema se proporcionan las directrices generales para mantener registros bloqueados en ClearQuest.
Exploración para encontrar registros bloqueados
Es aconsejable explorar regularmente la base de datos para encontrar posibles registros bloqueados.
Para encontrar registros bloqueados, cree y ejecute una consulta que identifique los registros y los usuarios que mantienen cada bloqueo. Cuando encuentre registros bloqueados, tome las medidas adecuadas para eliminar los bloqueos si es necesario.
Desbloqueo de registros con una característica de tiempo excedido
Puede crear un script que le permita identificar los registros bloqueados y desbloquearlos automáticamente. Un script de tiempo excedido debería realizar las siguientes tareas:
- Recopile el conjunto de tipos de registro definidos por el esquema.
- Construya una estructura de datos que identifique todos los registros bloqueados por cada tipo de registro. La estructura debería incluir información como el usuario que mantiene el bloqueo, la versión bloqueada y la hora a la que se observó el bloqueo. Esta estructura está vacía inicialmente.
- Construya una consulta para encontrar registros actualmente bloqueados, seleccionando el ID de registro y las columnas locked_by y lock_version.
- Compare el conjunto actual de registros bloqueados con los ya conocidos y registrados en la estructura de datos. Esta comprobación debe incluir una comparación del usuario que bloquea y de la versión del registro que se ha bloqueado, a fin de distinguir bloqueos del mismo usuario pero sobre una nueva versión del registro, o de un usuario diferente.
- Elimine los bloqueos que se hayan mantenido por más tiempo de un intervalo determinado cargando la entidad y llamando al método Unlock de la API.
- Actualice la estructura de datos para añadir referencias a los registros que se han encontrado bloqueados recientemente y elimine las referencias a los registros que ya no están bloqueados.
Este script debería también llevar un registro de su actividad o notificar a los usuarios cuando elimine un bloqueo que estaban manteniendo.
El script debería configurarse para ejecutarse a intervalos regulares. El intervalo de tiempo excedido y la frecuencia de exploración determinarán el tiempo mínimo y máximo esperados para que un bloqueo exceda el tiempo de espera. Estos valores deberían darse a conocer a los usuarios ya que afectan:
- cuánto tiempo puede trabajar un usuario en la edición de un registro antes de perder el bloqueo.
- cuánto tiempo debe esperar un usuario para que un bloqueo abandonado se libere automáticamente.
Uso de findrecordlocks_pl para el mantenimiento de bloqueos
Rational
ClearQuest incluye un script findrecordlocks_pl que puede utilizar para encontrar bloqueos de registros y definir tiempo de espera de bloqueo. Para obtener más información e instrucciones sobre el uso del script, consulte la página de referencia sobre findrecordlocks.pl.