Что делать если движок виснет на fetch ?
Опять проблема с объемами данных. Подскажите что делать. Вопрос по плагину доставки. Логистическая компания, для которой написан плагин, всё расширяет сеть доставки. В результате, после очередного добавления, движок webasyst не смог сформировать страницу настроек плагина с перечнем этих пунктов для редактирования и просто завис на крутящемся колёсике. При отладе стало понятно, что виснет после
$view = wa()->getView(); $autoescape = $view->autoescape(); $view->autoescape(TRUE); $view->assign(array( 'namespace' => $namespace, 'values' => $values, 'p' => $this, ) ); $html = $view->fetch($this->path . '/templates/settings.html');
Т.е. не может сформировать html.
Что могло сломать? объём? и что тогда? Помогите
5 ответов
Как обычно при отладке выведитe значения $this->path и проверьте насколько большая страница формируется в settings.html.
Дополнительно для тестирования пока отключите $view->autoescape(TRUE);
$this->path, как и до зависания, содержит полный путь до каталога плагина от корня / (это не поменялось). Как проверить насколько большая страница settings.html формируется я не понимаю, поскольку HTML и возвращает как раз fetch. Если принудительно сокращать число ПВЗ добавив в код удаление n-ого количества - страница формируется.
Отключение $view->autoescape(TRUE) ничего не изменило.
Удалось понять, что страница в 37200 байт фомрируется, а 37400 - уже нет.
Собственно весь вопрос в том что делать? Сокращать размер страницы аскетируя её? Или надо какой конфиг параметр подкрутить? Что заклинивает fetch? Минимизация вывода тоже не панацея. Логисты продолжают развиваться. Ещё ПВЗ добавят и опять упрётся в ограничение по размеру? И где узнать всё-так какое ограничение и чьё. Почему умирает?
Судя по всему проблема не в размере HTML. Сократил размер убрав незначящие буковки - виснет при меньшем размере. Может дело в классе CSS Zebra ? И там предельно можно вывести только 140 строк?
Нет. Дело не в размере таблицы. Разбил одну таблицу из 140 строк на 30 по почти 50. С тем же результатом - виснет. Очень жду каких-либо советов как выйти из тупиковой ситуации. Проблема явно не в размере HTML. А в числе параметров, передаваемых в fetch.