Превышение лимитов памяти при запросе перевода в модуле tmgmt

Это проблема рекурсии при сборе информации о статье. Модуль сканирует ссылочные поля (reference entity fields) и может попасть в своеобразную рекурсивную петлю. К примеру, статья ссылается на параграф, а тот ссылается на эту же статью.

Т.к. глубина рекурсии не ограничена, то петля приводит к превышению лимитов оперативной памяти.

Я обнаружил похожую тему в issues данного модуля, чтобы опубликовать там свой небольшой патч, решающий проблему — #3040609.

https://www.drupal.org/files/issues/2024-09-26/tmgmt-recursion_0.patch

Идея патча в том, чтобы создать реестр объектов, и избежать повторного анализа структуры ранее найденного объекта.

Мало букафф? Читайте есчо !

Проверка, что поле пустое в twig

Январь 28, 2022 г.

При переходе к Drupal 8/9 на twig шаблоны, часто возникает вопрос, как проверить что поле пустое. Наиболее точный ответ на мой взгляд помогает найти фильтр render, т.к. он позволяет получить результат рендера соответствующего поля, а не заниматься ...

Читать

Создаём программно url alias в Drupal 9

Август 28, 2021 г.

Сниппет кода, демонстрирующий как alias создаётся в Drupal 9. Ранее (в 8й версии) это был сервис ядра path.alias_storage, и код выглядел так: [crayon-6943fe6a12560526847379/] В 9й версии хранилище перенесли в entityTypeManager и потому выглядит ...

Читать

Устанавливаем флажок FILE_STATUS_PERMANENT для файла в DRUPAL 9

Август 7, 2021 г.

Если файл загружен через поле, созданное в конструкторе полей какого либо entity Drupal, то соответствующий модуль, предоставляющий функционал загрузки файла, сам обеспечит установку необходимого статуса. Что если поле было создано программно, и требуется ...

Читать

Кеширование JSON ответа в Drupal

Июль 6, 2023 г.

У нас есть контроллер, который выдаёт json ответ. Добавим кеширование. Начнем с определения контроллера. Пусть сконфигурирован следующий mymodule.routing.yml: [crayon-6943fe6a12b56231365234/] Это значит, что у нас создан класс PublicApi в ...

Читать
 

Комментарии к «Превышение лимитов памяти при запросе перевода в модуле tmgmt»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: