Консоль запущена... обновление до 2.3.1
Имеется сайт — 37 000 товаров. На рево 2.2.15 очистка кэша из админки рабортает. Обновились до 2.3.1. и перестал очишаться кэш из админки. Выводится «Консоль запущена...» и на этом и умирает процесс по таимауту(кнопки отключены):
action system/clearcache
action_map true
media_sources true
menu true
register mgr
topic /clearcache/
PHP 5.4.26 modx revo 2.3.1 с minishop2 2.1.8-pl1 — все плагины отключены. мемори лимит 512М.
кто встречал такую проблему делитесь решением плиз.)
action system/clearcache
action_map true
media_sources true
menu true
register mgr
topic /clearcache/
PHP 5.4.26 modx revo 2.3.1 с minishop2 2.1.8-pl1 — все плагины отключены. мемори лимит 512М.
кто встречал такую проблему делитесь решением плиз.)
Комментарии: 23
Надо смотреть в консоль браузера, что отдаёт сервер на первый ajax запрос. Вполне возможно, что там какой-нибудь E_NOTICE, который ломает JSON.
Ну и вручную удалить /core/cache никогда не помешает.
Ну и вручную удалить /core/cache никогда не помешает.
удалил в ручную. не помогает консоль вылетает по таимауту в 30 сек.
Откуда вывод про таймаут?
Ты видишь в логах сервера, что таймаут php, или просто ориентируешься на кнопочки в окошке, которые станут активны только когда придет верный ответ от сервера?
Если в ответе от сервера появился мусор, из-за которого ломается раскодировка JSON, то кнопочки так и будут неактивны.
Ты видишь в логах сервера, что таймаут php, или просто ориентируешься на кнопочки в окошке, которые станут активны только когда придет верный ответ от сервера?
Если в ответе от сервера появился мусор, из-за которого ломается раскодировка JSON, то кнопочки так и будут неактивны.
абортет конекшн от апаша вылетает. при макс екзек таим 30. поставил нуль и через палтары минуты такое: идет в ответе.
Fatal error: Maximum execution time of 0 seconds exceeded in /www/core/xpdo/om/mysql/xpdoquery.class.php on line 55
Fatal error: Maximum execution time of 0 seconds exceeded in /www/core/xpdo/om/mysql/xpdoquery.class.php on line 55
Ну тогда да — серверный таймаут. MODX что-то делает и не может закончить.
Подозреваю, что он там проверяет статус публикации у 37 000 товаров или что-то в этом духе. Тут только лезть в процессор очистки кэша и дебажить, на каком этапе вылазит проблема.
Подозреваю, что он там проверяет статус публикации у 37 000 товаров или что-то в этом духе. Тут только лезть в процессор очистки кэша и дебажить, на каком этапе вылазит проблема.
ои лазил.
в методе process от клир кеша зависает на этои строчке.
modSystemClearCacheProcessor
Строка 20: $this->modx->call('modResource', 'refreshURIs', array(&$this->modx));
отут зависает, но не сомг определить потому что через call от xpdo идут и другие запросы и не смог вычислить которыи из них зависает
в методе process от клир кеша зависает на этои строчке.
modSystemClearCacheProcessor
Строка 20: $this->modx->call('modResource', 'refreshURIs', array(&$this->modx));
отут зависает, но не сомг определить потому что через call от xpdo идут и другие запросы и не смог вычислить которыи из них зависает
Вот этот метод в modResource — приводит в порядок адреса ресурсов.
Не менялся он уже очень давно, так что не знаю, почему в 2.2.15 работает, а в 2.3 виснет.
Не менялся он уже очень давно, так что не знаю, почему в 2.2.15 работает, а в 2.3 виснет.
спасиб за наводку. теперь едем дальше:
1- если делаю так в modResource в refreshURIs прямо перед концом функции- перед 400 строкои как ты указал на гите: print_R(«eeeee»);exit; срабатывает и прекращает выполнение.
2. а если так
$this->modx->call('modResource', 'refreshURIs', array(&$this->modx));
print_R(«dddd»);exit;
в modSystemClearCacheProcessor то до print_r не доходит и зависает. в чем может быть проблема??
1- если делаю так в modResource в refreshURIs прямо перед концом функции- перед 400 строкои как ты указал на гите: print_R(«eeeee»);exit; срабатывает и прекращает выполнение.
2. а если так
$this->modx->call('modResource', 'refreshURIs', array(&$this->modx));
print_R(«dddd»);exit;
в modSystemClearCacheProcessor то до print_r не доходит и зависает. в чем может быть проблема??
Не знаю.
И нет времени дальше разбираться.
И нет времени дальше разбираться.
Потому что в 2.2.15 не было вызова refreshURIs в процессоре очистки кэша github.com/modxcms/revolution/blob/release-2.2/core/model/modx/processors/system/clearcache.class.php
Вот обсуждение зачем они его добавили github.com/modxcms/revolution/issues/9129
Но самое интересное то, что Jason Coward писал, что такие вещи нужно запускать из командной строки на больших сайтах forums.modx.com/thread/85073/how-can-i-recalculate-uri-in-a-large-site-content-with-more-than-1-000-000-entries-without-server-timeout-for-the-script#dis-post-469206 Ну а теперь это при каждой очистке кэша
Вот обсуждение зачем они его добавили github.com/modxcms/revolution/issues/9129
Но самое интересное то, что Jason Coward писал, что такие вещи нужно запускать из командной строки на больших сайтах forums.modx.com/thread/85073/how-can-i-recalculate-uri-in-a-large-site-content-with-more-than-1-000-000-entries-without-server-timeout-for-the-script#dis-post-469206 Ну а теперь это при каждой очистке кэша
Ух ты, спасибо за информацию!
Прям быстренько так приняли, без обсуждений — молодцы! Видимо, скоро пойдут отзывы от владельцев больших сайтов, и откатят обратно =)
Прям быстренько так приняли, без обсуждений — молодцы! Видимо, скоро пойдут отзывы от владельцев больших сайтов, и откатят обратно =)
а я прям ша отрублю нафг без них)
Тормозит именно этот метод, причем походу на любом хостинге при кол-ве товаров > 1-2 тыс.
Единственные варианты сейчас это
1. Закомментить эту строчку в процессоре
2. Перевести документы (хотя бы большую часть, например товары) на использование Freeze URI. Эти документы refreshUri не обновляет
3. Оптимизирвать RefreshUri и отправить Pull Request :)
Единственные варианты сейчас это
1. Закомментить эту строчку в процессоре
2. Перевести документы (хотя бы большую часть, например товары) на использование Freeze URI. Эти документы refreshUri не обновляет
3. Оптимизирвать RefreshUri и отправить Pull Request :)
Попутал) спаситель ты а не Вова). Сенкю вери мач. поправил все пашет.
но тоже странныи ответ Maximum execution time of 0 seconds exceeded это как понять. превысил бесконечность ) или как?)
Думаю, это внутренняя защита Apache2 от зависонов — а то и правда до hard reset будет твоя задача крутиться.
Бытует мнение что кеш в 2.3.1 поломалсо… свыще 1000 ресурсов зависает очистка кеша…
Имею такие глюки на сайтах обновленных до 2.3.1
Есть свежий сайт на 2.3.1 и ресурсов около 3тыщ и все нормально…
Имею такие глюки на сайтах обновленных до 2.3.1
Есть свежий сайт на 2.3.1 и ресурсов около 3тыщ и все нормально…
тоесть старые которые были обновлены те тупят а тот котрыи с нуля сделал на 2.3.1 тот пашет?
я постаивл таим лимит нуль в пхп и max_input time 6000 (дефолт 60) перегруз сервера и был результат минуты через 10. по логам маискюла перегнало за это время около 3 гига трафика мускульного.
я постаивл таим лимит нуль в пхп и max_input time 6000 (дефолт 60) перегруз сервера и был результат минуты через 10. по логам маискюла перегнало за это время около 3 гига трафика мускульного.
именно так… но эт только мое личное мнение… ничем особо не подтвержденное
Вова огромное спасибо ты прям спас) Васе тож что направил на нужную тропу)
а для простых смертных? Что сделать?
Сайт примерно 2т. страниц. Обновился с 2.2.9 до 2.3.2 и поимел проблему с белой висящей консолью. Как исправить?
Сайт примерно 2т. страниц. Обновился с 2.2.9 до 2.3.2 и поимел проблему с белой висящей консолью. Как исправить?
В файле /core/model/modx/processors/system/clearcache.class.php строка 18 комментируем:
//$this->modx->call('modResource', 'refreshURIs', array(&$this->modx));
//$this->modx->call('modResource', 'refreshURIs', array(&$this->modx));
спасибо, помогло :-)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.