Indeksy utknęły na „przetwarzaniu”


24

Zarówno indeks przepisywania adresów URL produktów, jak i powiązanie kategorii / produktu działają od wielu dni zgodnie z Magento Admin oblepiony!

Jednak nie są uruchomione żadne procesy php reindex, var/locksfolder jest pusty, a index_processtabela MySQL ma zupełnie inne statusy:

+------------+------------------------------+-----------------+---------------------+---------------------+--------+
| 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 |
+------------+------------------------------+-----------------+---------------------+---------------------+--------+

Co może być przyczyną tej rozbieżności? Bardziej niepokojące jest to, że powstrzymuje nas przed ukończeniem aktualizacji do wersji 1.13.1 (nie martw się, to tylko serwer pośredniczący!)

Odpowiedzi:


28

Przekroczenie limitu czasu serwera może spowodować, że Magento Admin Reindexing utknie na zawsze na „Przetwarzaniu”. Co musisz zrobić, to uzyskać dostęp do SSH dla swojego serwera i, w zależności od tego, który utknął reindex, wykonaj następujące polecenia.

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
Problem występuje, gdy indexer.php
reindeksowanie

1
Czy próbowałeś zwiększyć Maksymalny czas wykonania w konfiguracji php?
James H.

Wierzę, że plik ini CLI PHP zawsze określa max_execution_timezero. W każdym razie wygląda na to, że Twoja rekomendacja do uruchomienia ich indywidualnie działa. Problem występował podczas połączenia php indexer.php reindexall. Dzięki!
mpw

Prawdopodobnie wystąpił błąd pamięci.
Paul Hachmang

1
Użyj, php indexer.php infoaby uzyskać pełną listę indeksów.
marblegravy

2

Uaktualniałem do wersji v1.9CE z wersji 1.3CE. Produkty kategorii nie będą ponownie indeksowane. Musiałem usunąć tabelę katalog_kategorii_produktu_indeks z bazy danych v1.9 i zastąpić ją tabelą z witryny LIVE.

  1. Wyeksportuj tabelę (catalog_category_product_index) z najnowszej (w tym przypadku aktywnej) bazy danych. Musisz zaznaczyć „Wyłącz kontrole klucza obcego”.
  2. Wybierz bazę danych, do której zaimportujesz tę tabelę.
  3. Kliknij kartę SQL.
  4. Wpisz ten kod: DROP TABLE katalog_kategorii_indeks_produktu
  5. Następnie zaimportuj tabelę z kopią zapasową
  6. Reindex w SSH: -reindex katalog_kategoria_produkt
  7. Sprawdź administratora Magento. Zarządzanie indeksami nie wykazuje błędów.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.