Sí, se detendrá.
Como dijo Dinesh, depende de la implementación.
Drush se ejecuta en la línea de comando y no está sujeto a ningún límite de tiempo (en particular, no se aplica max_execution_time de PHP). Entonces, cuando comienza un proceso de migración que se ejecuta a través de drush, simplemente se inicia y continúa ejecutándose hasta que finaliza.
Cuando se ejecutan procesos a través de una interfaz web, se aplica PHP max_execution_time (generalmente 30 segundos, si no menos). Por lo tanto, para procesos de larga duración, necesitamos utilizar la API de Batch, que gestiona la división de un proceso en múltiples solicitudes. Por lo tanto, se iniciará un proceso de migración, se ejecutará durante 25 segundos más o menos, luego se detendrá y dejará que la API de Batch emita una nueva solicitud de página, en la que se reinicie el proceso de migración, hasta el infinito.
Entonces, entendiendo eso, ¿por qué es mejor Drush?
Es mas rapido
La API de Batch introduce una gran cantidad de gastos generales: al cerrar y volver a invocar las solicitudes de página, el proceso de migración debe ejecutarse nuevamente a través de todos los constructores necesarios, se restablecen las conexiones de la base de datos y se vuelven a ejecutar las consultas, etc. Y, para una importación parcial, debe elegir donde se quedó: si se importaron los primeros 500 registros de origen, debe encontrar el registro 501. Dependiendo de su formato de origen y de cómo se construya, esto puede escalar o no: si está utilizando marcas de aguas altas con un origen de SQL, la consulta misma puede eliminar los registros anteriores y comenzar justo donde lo dejó. De lo contrario, Migrate debe desplazarse por los datos de origen en busca del primer registro no importado. Con, digamos, un gran archivo XML como fuente,
Es mas confiable
La ejecución de migraciones a través de su navegador agrega su escritorio y su conexión a Internet local, como puntos de falla. Una falla en la red cuando Batch API se mueve a la siguiente solicitud de página, un bloqueo del navegador, un cierre accidental de la pestaña o ventana incorrecta pueden interrumpir su migración. Correr en seco reduce las partes móviles: elimina el escritorio y la conexión a Internet local como factores.
Es más útil
Si algo sale mal cuando se ejecuta en Drush, si hay algún mensaje de error útil, los verá. Las fallas al usar la API de Batch a menudo se tragan y todo lo que puede ver es completamente inútil "Una solicitud HTTP de AJAX finalizó de manera anormal. Sigue la información de depuración. Ruta: / batch? Id = 901 & op = do StatusText: ResponseText: ReadyState: 4".
Mientras tanto, si desea ejecutar el lote incluso si la ventana del navegador está cerrada, considere el módulo Proceso en segundo plano . Tiene un submódulo Background Batch que hace el truco.