Утечка памяти в Drush при выполнении тяжёлых операций
02.10.2023
На некоторых сайтах мы разово или периодически импортируем тысячи товаров, документов, пользователей. Обычно для этого делается Drush-команда, которая выполняется на сервере вручную или по расписанию. Drush выполняет команду или скрипт в одном процессе. Это значит, что выполнение долгих и тяжёлых операций может приводить к утечкам памяти из-за накопления статического кэша. Особенно заметно это проявляется при выполнении CRUD операций для большого числа сущностей, например, при выполнении пакетной обработки (батч). Это может приводить к падению скрипта импорта из-за нехватки памяти на сервере. Drush имеет механизм для обработки таких ситуаций в контексте пакетных операций.