Cómo diseñar una importación que pueda reanudarse tras un fallo
Diseña la importación para retomar trabajo confirmado sobre una entrada identificada e inmutable.
Diseña la importación para retomar trabajo confirmado sobre una entrada identificada e inmutable. Guarda progreso por unidad recuperable y utiliza referencias que impidan repetir sus efectos. Un número de fila guardado al final no basta si el fichero cambia o si el fallo ocurre entre escribir en el destino y actualizar el avance.
Fija qué versión estás importando
Asigna una referencia a la ejecución y al fichero o conjunto de datos. Conserva una huella o versión y rechaza una reanudación sobre contenido diferente sin decisión expresa. Registra formato, reglas de transformación y ámbito destino. En una extracción por API, revisa cómo funciona la paginación: un desplazamiento numérico sobre una colección que cambia puede saltar o repetir registros. Usa el mecanismo de continuidad que documente el proveedor.
Elige el punto de recuperación
Puedes confirmar por registro o por lote, según las transacciones y el coste de revisar. Anota qué elementos están confirmados, rechazados o inciertos, además de la posición de lectura. Un lote leído no es un lote aplicado. Microsoft Graph diferencia enlaces de continuación y de delta para recursos compatibles; no intercambies sus funciones ni construyas manualmente tokens. La reanudación debe conservar también filtros y alcance de la extracción original.
Resuelve el intervalo de escritura
Si la operación externa terminó y el proceso cayó antes de guardar avance, el siguiente arranque necesita consultar el resultado o usar una protección idempotente documentada. No basta con retroceder una fila. Separa efectos principales y secundarios: importar una ficha no debe reenviar su correo de bienvenida cada vez que se reconstruye el estado. Si el destino no permite verificar un resultado, retén ese elemento para revisión antes de continuar con acciones dependientes.
Prepara una reanudación que pueda operar otra persona
El procedimiento debe indicar cómo localizar la ejecución, comprobar su entrada y consultar el último resultado confirmado. Muestra qué queda pendiente y qué registros necesitan conciliación. No obligues al operador a editar manualmente el contador de filas ni a borrar bloqueos sin conocer su significado. Define quién puede cambiar la versión de reglas utilizada por una ejecución abierta.
Si una corrección exige un mapeo nuevo, conserva la relación con la ejecución anterior y decide qué registros deben recalcularse. Los ya aplicados pueden requerir una actualización específica, no otra alta. Ensaya la recuperación con alguien que no desarrolló el importador: debe identificar el fichero correcto, reanudar el ámbito permitido y justificar los totales finales. Sus dudas muestran información operativa que el punto de control técnico, por sí solo, no proporciona.
Ensaya tres interrupciones
Detén el proceso antes de aplicar un lote, a mitad y después de escribir antes del punto de control. Reanuda y compara identidades y totales contra una ejecución completa de referencia. Incluye errores de datos y confirma que no bloquean ni desaparecen por reiniciar. Documenta qué puede reanudar automáticamente un operador y qué exige aprobación. El criterio de éxito incluye ausencia de omisiones, efectos duplicados y confirmaciones prematuras; terminar sin excepción no demuestra que se haya recuperado todo.
Comprobaciones para cerrar la tarea
- ✓ La reanudación detecta una entrada modificada.
- ✓ Leer y aplicar tienen puntos de control diferentes.
- ✓ Las pruebas cortan antes, durante y después de la escritura.
Fuentes y documentación
- Microsoft Graph: delta query — Paginación y tokens para recursos compatibles; contempla repeticiones y reinicio de sincronización.
- Azure Architecture Center: Retry — Distingue fallos transitorios, límites de intentos e impacto de políticas anidadas.
Aplicarlo en tu empresa
Podemos revisar el entorno y acordar qué actuaciones, validaciones y mantenimiento necesitas.
Conocer el servicio relacionado →