Что делать если движок виснет на 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.

Что могло сломать? объём? и что тогда? Помогите

3 ответа

  • 1
    Алексей Webasyst 25 июля 2016 09:12 #

    Как обычно при отладке выведитe значения $this->path и проверьте насколько большая страница формируется в settings.html.
    Дополнительно для тестирования пока отключите $view->autoescape(TRUE);

    • +1
      Аркадий Глазов Аркадий Глазов 25 июля 2016 12:20 #

      $this->path, как и до зависания, содержит полный путь до каталога плагина от корня / (это не поменялось). Как проверить насколько большая страница settings.html формируется я не понимаю, поскольку HTML и возвращает как раз fetch. Если принудительно сокращать число ПВЗ добавив в код удаление n-ого количества - страница формируется.

      Отключение $view->autoescape(TRUE) ничего не изменило.


    • +1
      Аркадий Глазов Аркадий Глазов 25 июля 2016 14:59 #

      Удалось понять, что страница в 37200 байт фомрируется, а 37400 - уже нет.

      Собственно весь вопрос в том что делать? Сокращать размер страницы аскетируя её? Или надо какой конфиг параметр подкрутить? Что заклинивает fetch? Минимизация вывода тоже не панацея. Логисты продолжают развиваться. Ещё ПВЗ добавят и опять упрётся в ограничение по размеру? И где узнать всё-так какое ограничение и чьё. Почему умирает?

  • 1
    Аркадий Глазов 25 июля 2016 15:11 #

    Судя по всему проблема не в размере HTML. Сократил размер убрав незначящие буковки - виснет при меньшем размере. Может дело в классе CSS Zebra ? И там предельно можно вывести только 140 строк?

  • 1
    Аркадий Глазов 26 июля 2016 17:32 #

    Нет. Дело не в размере таблицы. Разбил одну таблицу из 140 строк на 30 по почти 50. С тем же результатом - виснет. Очень жду каких-либо советов как выйти из тупиковой ситуации. Проблема явно не в размере HTML. А в числе параметров, передаваемых в fetch.

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите