Перейти к содержимому


Фотография
* * * * * 1 Голосов

Error 502 - Bad gateway при сохранении

error 502 bad gateway

Лучший Ответ SpellCraft , 22 February 2017 - 08:38

Аналогична проблема была на днях. Из-за плагина карты сайта зацикливалось во время сохранения. Посмотрел есть ли обновления, обновил плагин + компонент на актуальные версии и все стало на круги своя. 

Не совсем правильно, проблема не в обновлении и не в лимитах выделения времени и памяти, суть проблемы состоит в том что плагин "Content - JSitemap Pingomatic" для компонента JSitemap Pro увеличивает нагрузку при обработке скрипта в момент сохранения в 3 раза, а при большом количестве связей это 502 - 504-я ошибка. Так как требуется большой лимит на max_execution_time и max_input_time!

 

Для того что бы эта проблема у Вас не появилась в дальнейшем - настоятельно рекомендую отключать плагин "Content - JSitemap Pingomatic".

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 55

#31 inte

inte

Отправлено 17 February 2017 - 11:06

Возможно у вас включен плагин умного поиска?


  • 0

#32 SmetDenis

SmetDenis

Отправлено 18 February 2017 - 14:38

У вас установлен плагин JMap ? Если да, попробуйте его выключить.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#33 SpellCraft

SpellCraft

Отправлено 20 February 2017 - 14:30

Возможно у вас включен плагин умного поиска?

Выключен.


У вас установлен плагин JMap ? Если да, попробуйте его выключить.

Выключен.


  • 0

#34 SmetDenis

SmetDenis

Отправлено 21 February 2017 - 06:35

А другие расширения для создания карты сайта или который отслеживают сохранение материалов, чтобы сделать что-то (пингоматик, например)?


  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#35 SpellCraft

SpellCraft

Отправлено 21 February 2017 - 08:57

Пингоматик есть от JSitemap Pro, но особо им не пользуюсь.


  • 0

#36 SpellCraft

SpellCraft

Отправлено 21 February 2017 - 10:29

Попробуйте - а вдруг: 

https://github.com/J...0fd17d4e0abc313

 

Ругается на синтекс кода, в частности на  ==> ";"

+			$list = $this->app->database->queryAssocList($query);
+			$itemOrig = array_reduce($list, function($acc, $item){
+					$acc[] = $item['id'];
+					return $acc;
+			}, []);
+
+			$list = JBModelItem::model()->getZooItemsByIds($itemOrig);
+
+			$list = $this->app->jbarray->sortByArray($list, $itemOrig);
+
+			return $list;

  • 0

#37 CB9TOIIIA

CB9TOIIIA

Отправлено 21 February 2017 - 10:30

Наверное не Ваш этот случай, но там так:

public function getByCategory($application_id, $category_id, $published = false, $user = null, $orderby = "", $offset = 0, $limit = 0, $ignore_order_priority = false) {

		// get database
		$db = $this->database;

		// get dates
		$date = $this->app->date->create();
		$now  = $db->Quote($date->toSQL());
		$null = $db->Quote($db->getNullDate());

		// get item ordering
		list($join, $order) = $this->_getItemOrder($orderby, $ignore_order_priority);

		$query = "SELECT a.id"
			." FROM ".$this->name." AS a"
			." LEFT JOIN ".ZOO_TABLE_CATEGORY_ITEM." AS b ON a.id = b.item_id"
			.($join ? $join : "")
			." WHERE a.application_id = ".(int) $application_id

            // zoo_hack_start
            // ." AND a.".$this->app->user->getDBAccessString($user)
            .($published == true ? " AND a.state = 1" : "")
            //." AND (a.publish_up = ".$null." OR a.publish_up <= ".$now.")"
            //." AND (a.publish_down = ".$null." OR a.publish_down >= ".$now.")": "")
            // zoo_hack_end

            ." AND b.category_id ".(is_array($category_id) ? " IN (".implode(",", $category_id).")" : " = ".(int) $category_id)
			." GROUP BY a.id"
			.($order ? " ORDER BY " . $order : "")
			.($limit ? " LIMIT ".(int) $offset.",".(int) $limit : "");

			$list = $this->app->database->queryAssocList($query);
			$itemOrig = array_reduce($list, function($acc, $item){
					$acc[] = $item['id'];
					return $acc;
			}, []);

			$list = JBModelItem::model()->getZooItemsByIds($itemOrig);

			$list = $this->app->jbarray->sortByArray($list, $itemOrig);

			return $list;
	}


  • 0

#38 SpellCraft

SpellCraft

Отправлено 21 February 2017 - 11:27

К сожалению это не мой случай, верно. Из-за большого количества связей (товар/категория) и нехватки лимитов на выполнение скриптов при сохранении возникает моя проблема. Некоторое время назад помогало увеличение лемитов, пока это "увеличение" не стало отрицательно сказываться на сервере.


  • 0

#39 SpellCraft

SpellCraft

Отправлено 21 February 2017 - 11:31

А другие расширения для создания карты сайта или который отслеживают сохранение материалов, чтобы сделать что-то (пингоматик, например)?

Денис, как можно оптимизировать скрипты? Может быть поможет отключение автоматического индекса при сохранении? Есть какие-нибудь варианты решений? Могу дать доступы...


  • 0

#40 CB9TOIIIA

CB9TOIIIA

Отправлено 21 February 2017 - 11:37

ИСПРАВЛЕНИЕ мб поможет:
1. В файле файле /media/zoo/applications/jbuniversal/framework/helpers/jbtables.php 
2. Переиндексируйте БД
3. Проведите "Чистку БД"
4. Сделайте return  false строку
    /**
     * @param $tableName
     * @param array $tblFields
     * @param array $tblIndex
     */
    public function createTable($tableName, array $tblFields, array $tblIndex)
    {
		 return false;
        $params = array_merge($tblFields, $tblIndex);

        if (empty($params)) {
            return;
        }

        $sql   = array();
        $sql[] = 'CREATE TABLE IF NOT EXISTS `' . $tableName . '`';
        $sql[] = '(' . implode(",\n ", $params) . ')';
        $sql[] = 'COLLATE=\'utf8_general_ci\' ENGINE=MyISAM;';

        $sqlString = implode(' ', $sql);

        $this->_db->query($sqlString);
    }

  • 0




Click to return to top of page in style!