Qué hacer cuando un archivo todavía se está copiando
Si un archivo todavía se está copiando, aplaza su procesamiento y espera una señal de entrega acordada.
Si un archivo todavía se está copiando, aplaza su procesamiento y espera una señal de entrega acordada. Un evento de creación o un tamaño estable durante unos segundos no garantiza que el productor haya terminado. La solución más fiable depende del mecanismo de entrega que puedas coordinar con quien genera el fichero.
Prefiere una señal explícita de finalización
Acuerda que el productor publique el archivo solo cuando esté completo, o que añada una marca de listo asociada a su referencia. Otra opción es un manifiesto con tamaño y huella esperados si ambos sistemas pueden generarlo y comprobarlo. Verifica las garantías del almacenamiento concreto: no afirmes que mover o renombrar siempre es atómico, especialmente entre ubicaciones o servicios distintos.
Si solo puedes observar, reconoce el límite
Puedes comprobar accesibilidad, cambios de tamaño y fecha durante una ventana definida, pero trátalo como heurística. Una copia pausada puede parecer estable y reanudarse después. Añade validación del formato y de la estructura esperada antes de producir efectos. En un ejemplo hipotético, que un CSV tenga líneas legibles no demuestra que incluya todas las líneas; una cantidad esperada en un manifiesto ofrece otra comprobación.
Gestiona espera, error y concurrencia
Deja el fichero como pendiente, con próxima revisión y tiempo máximo operativo acordado. Al vencer, envíalo a revisión en vez de eliminarlo o tratarlo como vacío. Evita que dos trabajadores lo reclamen a la vez mediante el mecanismo de coordinación disponible. No fuerces a cerrar el archivo del productor. Un bloqueo de lectura puede deberse a otra causa y necesita diagnóstico, no repetición sin límite.
Prueba una copia que se detiene y continúa
Ensaya un archivo que aparece, crece, se pausa y termina más tarde. Comprueba que no se ejecuta ninguna escritura de negocio antes de la señal prevista. FileSystemWatcher puede emitir varios avisos por una misma operación; agrúpalos mediante la identidad y estado del trabajo. Prueba además reinicio durante la espera y una entrega que nunca finaliza. La prueba pasa si se conserva el pendiente y la excepción llega con datos suficientes para actuar.
Registra cuándo apareció el candidato, cuál es la evidencia de entrega y por qué sigue esperando. El operador debe distinguir una copia larga de un permiso denegado o un formato inválido. Mantén un límite separado para cada situación si requieren acciones distintas. Cuando llegue la señal final, vuelve a comprobar la identidad del fichero para no liberar por error otro archivo con igual nombre.
Comprobaciones para cerrar la tarea
- ✓ Acuerda una señal de entrega con el productor.
- ✓ Documenta el límite de observar tamaño y fecha.
- ✓ Prueba copia pausada y reinicio durante la espera.
- ✓ Verifica que el plazo vencido genera revisión sin borrar.
Fuentes y documentación
- Microsoft — FileSystemWatcher — Una operación puede emitir varios eventos y el desbordamiento del búfer puede hacer perder avisos.
Aplicarlo en tu empresa
Podemos revisar el entorno y acordar qué actuaciones, validaciones y mantenimiento necesitas.
Conocer el servicio relacionado →