Індекси застрягли при "обробці"


24

Індекс "Переписування URL-адреси продукту" та асоціація категорії / продукту працювали протягом кількох днів відповідно до адміністратора Magento застряг!

Однак не працює запущений 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 Reindexing назавжди застрягнути на "Обробці". Що вам потрібно зробити, це отримати доступ до 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
повторного детексування

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

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

Тоді ви, мабуть, зіткнулися з помилкою пам'яті.
Пол Хачманг

1
Використовуйте php indexer.php infoдля отримання повного списку індексів.
marblegravy

2

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

  1. Експортуйте таблицю (catalog_category_product_index) з останньої (у цьому випадку активної) бази даних. Потрібно поставити галочку "Вимкнути перевірку зовнішніх ключів".
  2. Виберіть базу даних, до якої ви будете імпортувати цю таблицю.
  3. Перейдіть на вкладку SQL.
  4. Введіть цей код: DROP TABLE catalog_category_product_index
  5. Потім імпортуйте резервну копію таблиці
  6. Reindex в SSH: -reindex каталог_категорія_продукт
  7. Перевірте адміністратора Magento. Управління індексом не показує помилок.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.