Depuración
El proceso de Depuración gestiona la limpieza y el ciclo de vida final de los archivos en el sistema, combinando acciones automáticas y manuales para garantizar la trazabilidad y el cumplimiento normativo.
Notas:
- La vigencia y la retención de los archivos se configuran en el sistema y siempre tienen un límite de tiempo.
- Ningún archivo puede durar menos de 1 día ni más de 5 años. Los metadatos se conservan siempre, aunque el binario se elimine.
Flujo del Proceso
Identificación de archivos a depurar
- El sistema revisa periódicamente los archivos en estado Vigente (102) o Renovado (103) cuya fecha de expiración haya pasado.
- Consulta utilizada:
nc_archivo.expiracion <= ayer AND id_codigo_resultado IN (102, 103)
Expiración automática
- Los archivos que cumplen la condición anterior cambian su estado a Expirado (110).
- El binario permanece disponible durante el período de retención configurado.
- Los metadatos se conservan siempre.
- Comando para listar archivos a expirar:
./bin/docs archivos:expirar --list
Solicitud y validación de eliminación
- Pedido de Eliminación
- Un usuario o sistema puede solicitar la eliminación de un archivo. Ante un pedido exitoso, el archivo cambia su estado a Pedido de Eliminación (104).
- Esta acción no elimina el archivo directamente, sino que modifica su fecha de expiración para que sea inminente.
- De esta forma, el proceso de "Expiración automática" (punto 2) lo identificará en su siguiente ejecución, cambiando su estado de 104 a Expirado (110).
- El sistema valida permisos y estado antes de aceptar la solicitud.
- El archivo queda marcado para eliminación, pero el binario aún no se elimina.
Eliminación física del binario
- Una vez cumplido el período de retención tras la expiración, el sistema busca archivos Expirados (110) que ya cumplieron el tiempo de retención.
- Cambia el estado a Eliminado (111), agrega la fecha de baja y elimina el binario.
- Comando para listar archivos a eliminar:
./bin/docs archivos:eliminar --list - Puedes indicar una fecha específica (
--fecha) o un período (--periodo) para controlar qué archivos eliminar.
Preservación de metadatos
- En ningún caso los metadatos del archivo se eliminan completamente.
- Esto garantiza la trazabilidad histórica y el cumplimiento de requisitos legales.
Estados del Archivo
| Estado | Código | Descripción | Binario | Metadatos |
|---|---|---|---|---|
| Vigente | 102 | Archivo activo y accesible | ✓ | ✓ |
| Renovado | 103 | Archivo renovado por módulo | ✓ | ✓ |
| Pedido | 104 | Pedido de Eliminación | ✓ | ✓ |
| Expirado | 110 | Archivo expirado, en período de retención | ✓ | ✓ |
| Eliminado | 111 | Binario eliminado, metadatos preservados | ✗ | ✓ |
El binario puede eliminarse según configuración
Políticas de Retención
| Fase | Condición de permanencia | Binario | Metadatos |
|---|---|---|---|
| Creación | Hasta que inicia la vigencia | ✓ | ✓ |
| Vigente/Renovado | Según configuración de vigencia | ✓ | ✓ |
| Expirado | Según configuración de retención | ✓ | ✓ |
| Eliminación Binario | Tras cumplir retención post-expiración | ✗ | ✓ (indefinido) |
Resumen del Proceso
- Los archivos pasan de Vigente/Renovado a Expirado cuando vencen.
- Tras el período de retención, pueden ser eliminados definitivamente (Eliminado).
- Los metadatos nunca se eliminan, lo que permite mantener el historial y la trazabilidad de todos los archivos.
- El sistema permite listar y controlar los archivos a expirar o eliminar mediante comandos simples.
Variables de Configuración
Las siguientes variables de entorno controlan el comportamiento del proceso de depuración:
###### CONFIG ARCHIVOS ######
# ARCHIVOS_VIGENCIA=730
# ARCHIVOS_RETENCION_POST_EXPIRACION=30
# ARCHIVOS_MAX_SIZE=10485760
| Variable | Descripción | Valor por defecto |
|---|---|---|
ARCHIVOS_VIGENCIA | Días de vigencia de los archivos | 730 (2 años) |
ARCHIVOS_RETENCION_POST_EXPIRACION | Días de retención después de la expiración | 30 días |
ARCHIVOS_MAX_SIZE | Tamaño máximo del archivo en bytes | 10485760 (10 MB) |
