Oui, il sera arrêté.
Comme l'a dit Dinesh, cela dépend de la mise en œuvre.
Drush s'exécute sur la ligne de commande et n'est soumis à aucune limite de temps (en particulier, max_execution_time de PHP ne s'applique pas). Ainsi, lorsque vous démarrez un processus de migration exécuté via drush, il démarre simplement et continue de fonctionner jusqu'à ce qu'il soit terminé.
Lors de l'exécution de processus via une interface Web, le PHP max_execution_time (généralement 30 secondes sinon moins) s'applique. Ainsi, pour les processus de longue durée, nous devons utiliser l'API Batch, qui gère la décomposition d'un processus sur plusieurs demandes. Ainsi, un processus de migration démarre, s'exécute pendant environ 25 secondes, puis s'arrête et laisse l'API Batch émettre une nouvelle demande de page, dans laquelle le processus de migration est redémarré, à l'infini.
Donc, en comprenant cela, pourquoi Drush est-il meilleur?
C'est plus rapide
L'API Batch introduit de nombreux frais généraux - arrêt et réinvocation des demandes de page, le processus de migration doit à nouveau passer par tous les constructeurs nécessaires, les connexions à la base de données sont rétablies et les requêtes sont réexécutées, etc. Et, pour une importation partielle, il doit sélectionner là où il s'était arrêté - si les 500 premiers enregistrements source ont été importés, il doit trouver le 501e enregistrement. En fonction de votre format source et de la façon dont il est construit, cela peut ou non évoluer - si vous utilisez des marques hautes avec une source SQL, la requête elle-même peut éliminer les enregistrements précédents et commencer là où vous vous étiez arrêté. Sinon, Migrate doit faire défiler les données source à la recherche du premier enregistrement non importé. Avec, disons, un gros fichier XML comme source,
C'est plus fiable
L'exécution de migrations via votre navigateur ajoute votre bureau et votre connexion Internet locale comme points de défaillance. Un problème réseau lorsque l'API Batch passe à la demande de page suivante, un plantage du navigateur, une fermeture accidentelle du mauvais onglet ou de la mauvaise fenêtre peuvent tous interrompre votre migration. L'exécution en drush réduit les pièces mobiles - vous éliminez votre bureau et votre connexion Internet locale comme facteurs.
C'est plus utile
Si quelque chose ne va pas lors de l'exécution dans Drush, s'il y a des messages d'erreur utiles, vous les verrez. Les échecs à l'aide de l'API Batch sont souvent engloutis et tout ce que vous voyez est complètement inutile "Une requête HTTP AJAX s'est terminée anormalement. Des informations de débogage suivent. Chemin: / batch? Id = 901 & op = do StatusText: ResponseText: ReadyState: 4".
En attendant, si vous souhaitez exécuter le lot même si la fenêtre du navigateur est fermée, envisagez le module Processus d'arrière-plan . Il dispose d'un sous - module Batch Background qui fait l'affaire.