Индексы застряли на «обработке»


24

По словам администратора Magento, и индекс перезаписи URL-адресов продуктов, и ассоциация категорий / продуктов работают уже несколько дней. застрял!

Тем не менее, нет никаких процессов переиндексации PHP, var/locksпапка пуста, и index_processтаблица MySQL имеет совершенно разные статусы:

+------------+------------------------------+-----------------+---------------------+---------------------+--------+
| process_id | indexer_code                 | status          | started_at          | ended_at            | mode   |
+------------+------------------------------+-----------------+---------------------+---------------------+--------+
|          1 | catalog_product_attribute    | pending         | 2014-01-03 18:17:32 | 2014-01-03 18:17:34 | manual |
|          2 | catalog_product_price        | pending         | 2013-11-06 21:26:32 | 2013-11-06 21:26:32 | manual |
|          3 | catalog_url                  | pending         | 2013-06-05 22:15:24 | 2013-06-05 22:15:24 | manual |
|          4 | catalog_product_flat         | require_reindex | 2013-06-05 22:15:24 | 2013-06-05 22:15:24 | manual |
|          5 | catalog_category_flat        | require_reindex | 2013-08-13 19:55:56 | 2013-08-13 19:55:56 | manual |
|          6 | catalog_category_product     | pending         | 2013-06-05 22:15:24 | 2013-06-05 22:15:24 | manual |
|          7 | catalogsearch_fulltext       | require_reindex | 2014-01-03 15:05:55 | 2013-12-16 22:33:51 | manual |
|          8 | cataloginventory_stock       | pending         | 2014-01-03 18:17:32 | 2014-01-03 18:17:32 | manual |
|          9 | tag_summary                  | pending         | 2014-01-03 15:51:59 | 2014-01-03 15:52:02 | manual |
|         10 | url_redirect                 | pending         | 2013-06-05 22:17:14 | 2013-06-05 22:17:14 | manual |
|         11 | targetrule                   | require_reindex | 2013-07-03 16:37:34 | 2013-07-03 16:37:34 | manual |
|         12 | catalog_url_category         | pending         | 2013-06-05 22:17:15 | 2013-06-05 22:17:15 | manual |
|         13 | catalog_url_product          | pending         | 2013-06-05 22:17:15 | 2013-06-05 22:17:15 | manual |
|         14 | catalog_category_product_cat | pending         | 2013-06-05 22:17:15 | 2013-06-05 22:17:15 | manual |
+------------+------------------------------+-----------------+---------------------+---------------------+--------+

Что может быть причиной этого несоответствия? Более того, это мешает нам завершить обновление до 1.13.1 (не волнуйтесь, это всего лишь промежуточный сервер!)

Ответы:


28

Тайм-аут сервера может привести к тому, что переиндексация Magento Admin застрянет на «Обработка» навсегда. Что вам нужно сделать, это получить SSH-доступ к вашему серверу и в зависимости от того, какой реиндекс вы застряли, выполните следующие командные строки.

php yourmagentofolder/html/shell/indexer.php -reindex catalog_product_attribute
php yourmagentofolder/html/shell/indexer.php -reindex catalogsearch_fulltext
php yourmagentofolder/html/shell/indexer.php -reindex catalog_category_flat
php yourmagentofolder/html/shell/indexer.php -reindex cataloginventory_stock
php yourmagentofolder/html/shell/indexer.php -reindex catalog_category_product
php yourmagentofolder/html/shell/indexer.php -reindex catalog_product_price
php yourmagentofolder/html/shell/indexer.php -reindex tag_summary
php yourmagentofolder/html/shell/indexer.php -reindex catalog_url

1
Проблема возникает при переиндексации с использованиемindexer.php
mpw

1
Вы пытались увеличить максимальное время выполнения в конфигурации php?
Джеймс Х.

Я считаю, что PHP-файл CLI всегда определяет max_execution_timeноль. В любом случае, похоже, ваша рекомендация использовать их по отдельности работает. Проблема возникала при звонке php indexer.php reindexall. Благодарность!
mpw

Тогда вы, вероятно, столкнулись с ошибкой памяти.
Пол Хахманг

1
Используйте, php indexer.php infoчтобы получить полный список индексов.
мраморная гравюра

2

Я обновлялся до v1.9CE с v1.3CE. Категория Продукты не будет переиндексировать. Мне пришлось удалить таблицу catalog_category_product_index из базы данных v1.9 и заменить ее таблицей с сайта LIVE.

  1. Экспортируйте таблицу (catalog_category_product_index) из самой последней (в данном случае активной) базы данных. Вы должны поставить галочку «Отключить проверку внешнего ключа».
  2. Выберите базу данных, в которую вы будете импортировать эту таблицу.
  3. Нажмите на вкладку SQL.
  4. Введите этот код: DROP TABLE catalog_category_product_index
  5. Затем импортируйте резервную копию таблицы
  6. Переиндексировать в SSH: -reindex catalog_category_product
  7. Проверьте админку Magento. Управление индексами не показывает ошибок.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.