2012-03-29 3 views
14

Я искал похожие темы, но ни одно решение не работает. Есть ли способ остановить определенный процесс индексации пурпурного?Есть ли способ остановить процесс индексации пурпурного?

При попытке переиндексации из оболочки я получаю это:

php -f indexer.php reindex all 
Stock Status Index process is working now. Please try run this process later. 
Product Prices Index process is working now. Please try run this process later. 
Catalog URL Rewrites Index process is working now. Please try run this process later. 
Product Flat Data Index process is working now. Please try run this process later. 
Category Flat Data Index process is working now. Please try run this process later. 
Category Products Index process is working now. Please try run this process later. 
Catalog Search Index Index process is working now. Please try run this process later. 
Stock Status index was rebuilt successfully 
Tag Aggregation Data Index process is working now. Please try run this process later. 

Когда я пытаюсь увидеть статус индексатор я получаю это:

Product Attributes:   Pending 
Product Prices:    Pending 
Catalog URL Rewrites:   Pending 
Product Flat Data:    Pending 
Category Flat Data:   Pending 
Category Products:    Pending 
Catalog Search Index:   Pending 
Stock Status:     Pending 
Tag Aggregation Data:   Pending 

Если я переиндексации от администратора, процесс переиндексации бросает нет ошибок. Есть ли ссылка на некоторую документацию по этому вопросу?

Спасибо, Radu

ответ

3

Во-первых, попробуйте установить режим индексного инструкции:

php indexer.php --mode-manual catalog_product_attribute 
php indexer.php --mode-manual catalog_product_price 
php indexer.php --mode-manual catalog_url 
php indexer.php --mode-manual catalog_product_flat 
php indexer.php --mode-manual catalog_category_flat 
php indexer.php --mode-manual catalog_category_product 
php indexer.php --mode-manual catalogsearch_fulltext 
php indexer.php --mode-manual cataloginventory_stock 
php indexer.php --mode-manual tag_summary 

Затем попробуйте проиндексировать все индексы:

php indexer.php reindexall 

и установите режим в реальном времени снова:

php indexer.php --mode-realtime catalog_product_attribute 
php indexer.php --mode-realtime catalog_product_price 
php indexer.php --mode-realtime catalog_url 
php indexer.php --mode-realtime catalog_product_flat 
php indexer.php --mode-realtime catalog_category_flat 
php indexer.php --mode-realtime catalog_category_product 
php indexer.php --mode-realtime catalogsearch_fulltext 
php indexer.php --mode-realtime cataloginventory_stock 
php indexer.php --mode-realtime tag_summary 

Если это не сработает, попробуйте перезапустить apache с чем-то вроде sudo /etc/init.d/apache2 restart. Это должно остановить процесс индексирования, и вы можете, возможно, начать его снова после этого. Но помните, что ваш сайт не будет доступен в течение нескольких секунд, если вы перезапустите Apache.

+0

Перезапуск Apache не помогло. – Mike

22

Индексирование в основном (в основном это означает, что я уверен, что это всегда) происходит во время одного HTTP-запроса. Если этот запрос останавливает/тайм-ауты/терпит неудачу из-за ошибки PHP, индексир оставляет файлы блокировки лежащими, даже если индексация не происходит. Эти файлы расположены в

/path/to/mage/var/locks/index_process*.lock 

Процесс Индекс

работает в настоящее время. Пожалуйста, попробуйте запустить этот процесс позже.

Исключение - Magento сообщает, что он видит один из этих файлов блокировки. Если вы точно знаете, что никто не пытается запустить индекс, просто удалите файлы и перезапустите индексирование.

+1

Я консультирую 'top', и если он не показывает сеанс lsphp5 (LiteSpeed ​​WS), который работает с довольно высокой скоростью и довольно непрерывно, то я знаю, что процесс индексирования фактически не выполняется. Следующий шаг - удалить файлы блокировки и выполнить через командную строку отдельно каждый reindex, чтобы убедиться, что все выполняются до завершения, избегая исчерпания ресурсов и преждевременных сбоев. Он платит 'top' во время различных операций Magento, поэтому вы знаете, что такое обычное использование процессора, тогда это становится простым диагнозом. –

+1

Алан, если вы можете пролить свет на процесс индексации пурпурного.Я начал процесс индексирования (индекс поиска каталога), и он был остановлен закрытием браузера. теперь, в идеале, он должен также прекратить процесс php за ним, но когда я проверяю mysql processlist ouptut, он предположил, что magento все еще индексирует в фоновом режиме, индексирование по-прежнему работает в фоновом режиме, подтвердилось, когда я увидел, что этот solr-документ также обновлялся. я не понимал, как magento удалось сохранить процесс running.the сайт находится на стадии, так что никто другой не инициировал индекс ни из оболочки, ни из браузера. – anshuman

+0

Существует ** NO ** блокирует папку в этом пути '/ path/to/mage/var /' –

1

В последних версиях файлы замков были изменены и работают с базой данных (Magento 1.9).

Войдите в свой phpMyAdmin и запустите команду ниже.

UPDATE index_process SET status = 'pending' WHERE status = 'working' 

http://www.writeyourcode.com/stop-magento-indexing-process/

Смежные вопросы