Утечка памяти в Drush при выполнении тяжёлых операций

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

Приватные картинки CKEditor + Drupal: динамический путь сохранения изображений, загружаемых через текстовый редактор

27.09.2023
На Drupal можно организовать хранение и редактирование внутренних документов в компании, совместную работу с ними с мощной системой ролевого контроля доступа к страницам и файлам. В Инитлаб мы активно используем Drupal для работы с документами в команде. Однако прикрепляемые в WYSIWYG-редакторе CKEditor картинки по-умолчанию доступны публично без авторизации. В этой статье публикуем наше решение этой проблемы.

Новый закон о рекламе: как настроить маркировку на сайте, чтобы не получить штраф

13.09.2023
В этой статье мы расскажем, как настроили маркировку рекламных статей и баннеров на сайте клиента рекламным токеном erid, который теперь должен быть размещён в URL любых рекламных материалов. В сети уже много статей, которые помогают разобраться в нюансах обновлённого закона. Мы с командой решили поделиться нашим первым опытом реализации функционала под новые требования.

Баги и поломки при работе с сайтом: как защитить проект от самых частых ошибок

01.09.2023
В этой статье мы обсудим самые частые причины возникновения ошибок на сайте и расскажем, как тестирование и мониторинг позволяют предотвращать подобные случаи. Также мы поделимся нашей текущей схемой работы, при которой практически исключены критические проблемы на проектах, где особенно важно исключить баги.

Миграция проекта в Kubernetes: из каких этапов состоит и сколько времени занимает. Опыт IT-компании

03.08.2023
Если на вашем проекте планируется внедрение контейнеризации Kubernetes, предлагаем нашу статью для ознакомления с основными этапами этого процесса. Так вы будете понимать, к чему быть готовыми и сколько времени это займёт. В этой статье команда Initlab поделится опытом миграции различных проектов в Kubernetes и даст пошаговый план грамотного переезда.

Простая разработка сложных решений на вашем сайте: open source no-code инструменты на Drupal

20.04.2023
В этой статье мы расскажем о no-code инструментах Drupal, их преимуществах и недостатках. Она будет полезна владельцам сайтов, разработчикам, и тем, кто хочет запустить масштабный проект со сложным функционалом, но пока не нашёл подходящей CMS.

Неочевидный способ улучшить производительность сайта: наш эксперимент по ускорению интернет-магазина

03.04.2023
На производительность сайта влияют не только качество кода и оптимизация контента — они могут не иметь смысла, если страдают настройки на сервере. Наши специалисты развернули 3 интернет-магазина и проверили, насколько сильно конфигурация баз данных повлияла на их производительность. О результатах нашего исследования мы расскажем в этой статье.

Если сервер недоступен — переключимся на второй: делаем сайт устойчивее с помощью резервирования и репликации

09.03.2023
Сайт может упасть из-за аварии, сбоя в дата-центре, каналах связи или по другим причинам. И если для одних проектов это небольшая неприятность, то для других это финансовые убытки или ущерб репутации. Сделать сайт более устойчивым поможет резервирование и репликация. С ними не страшны никакие беды с хостингом: если сервер недоступен, в бой вступит копия сайта на другом сервере и продолжит работать как будто ничего не случилось. Как устроена технология репликации баз данных и для чего может пригодиться — читайте в нашей статье.