Organic Groups после миграции 504 ошибка при редактировании

Главные вкладки

Аватар пользователя kovalevm kovalevm 14 марта 2020 в 22:07

Добрый день!
После миграции с Drupal 7 на Drupal 8 обнаружили, что при редактировании материалов типа "Запись в сообщество" появлялась 504 ошибка. Выяснили, что это из-за связи модуля Organic Groups с типом "Запись в Сообщество".
Если удалить модуль Organic Groups, пропадает связь этого типа, отредактировать ноду получается.

Помогите, пожалуйста, разобраться с Organic Groups.

Комментарии

Аватар пользователя bsyomov bsyomov 15 марта 2020 в 13:21

Чтобы побороть 504, обычно, надо увеличить таймаут и время выполнения скрипта. А потом с помощью профайлера разобраться, что именно выполняется так долго, чтобы вызвать такую проблему.

Аватар пользователя kovalevm kovalevm 15 марта 2020 в 17:50

Время выполнения скрипта достаточно высокое, сайт на отдельном сервере, память 1024 Мб.
Подскажите, что такое профайлер?

Аватар пользователя bsyomov bsyomov 15 марта 2020 в 18:08

Достаточно высокое, это сколько в секундах в вашем случае? Не забыли, при этом, и таймаут на reverse-proxy увеличить? http 504, бывает как раз тогда, когда бекэнд не успевает ответить до таймаута.

Профайлер это инструмент для отладки, позволяющий построить дерево выполнения и посчитать время выполнения различных частей кода в разразе вызовов. Например, tideways/xhprof, xdebug и.т.п.

Аватар пользователя kovalevm kovalevm 19 марта 2020 в 15:05

Вот такие параметры сейчас:

php_admin_value[max_execution_time] = 200 (было 20)
pm.process_idle_timeout = 100s
php_admin_value[memory_limit] = 512M

А параметр reverse-proxy отсутствует. Как его нужно указать?

Аватар пользователя bsyomov bsyomov 19 марта 2020 в 17:55

Это не параметр php. Надо в nginx, который у вас, вероятно стоит перед этим всем, увеличить fastcgi_read_timeout до того же значения.

A pm.process_idle_timeout = 100s - это, кстати, совсем не о том. Smile Это время, через которое будет остановлен простаивающий процесс, если используется pm ondemand.

Если у вас другой веб сервер, смотреть документацию и по аналогии.