Есть ли способ остановить процесс индексирования magento? - PullRequest
14 голосов
/ 29 марта 2012

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

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

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 ]

22 голосов
/ 29 марта 2012

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

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

. Индекс

работает сейчас.Пожалуйста, попробуйте запустить этот процесс позже

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

4 голосов
/ 29 марта 2012

Сначала попробуйте установить ручной режим индексирования:

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.

1 голос
/ 28 сентября 2016

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

Войдите в свой phpMyAdmin и выполните приведенную ниже команду.

UPDATE index_process SET status = 'pending' WHERE status = 'working'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...