UDT-011 T400.50 — Inyectar TimeProvider en Quartz jobs de Auditoría #24
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexto
Durante el Batch 4 de UDT-011 (T400) se detectó que los tres Quartz jobs de auditoría aún usan
DateTime.UtcNowdirectamente, en lugar del patrónTimeProviderya establecido en el resto del sistema.Archivos afectados
src/api/SIGCM2.Infrastructure/Audit/Jobs/AuditIntegrityCheckJob.csvar now = DateTime.UtcNow;src/api/SIGCM2.Infrastructure/Audit/Jobs/AuditPartitionManagerJob.csvar now = DateTime.UtcNow;src/api/SIGCM2.Infrastructure/Audit/Jobs/AuditRetentionEnforcerJob.csvar now = DateTime.UtcNow;Tarea pendiente
TimeProvidervía constructor en los tres jobs (Quartz instancia via DI, así que es directo)DateTime.UtcNowpor_timeProvider.GetUtcNow().UtcDateTimeFakeTimeProviderpara los casos críticos de cada jobPor qué fue postergado
Los jobs de Quartz son ejecutados asincrónicamente fuera del request pipeline. Se optó por no modificarlos en este batch para mantener el scope acotado y evitar afectar la suite de integration tests de audit que ya tiene baseline estable.
Prioridad
Retomar al inicio del próximo UDT que toque la capa de infraestructura/jobs, o antes de habilitarlos en producción.