Остановка процесса индексации Magento

Как остановить процесс индексирования? Я импортировал 15 000 продуктов и начал индексирование, но теперь он застрял на обработке для "индекса поиска категории". Он застрял на обработке в течение двух дней, как я могу остановить процесс индексирования?

Любая помощь будет оценена, спасибо заранее.

Ответ 1

Когда Magento начинает индексирование каждого элемента в списке "Управление индексами", он устанавливает поле "status" коррелятивной цепочки таблицы "index_process" в "working". Если во время процесса индексирования происходит ошибка script, статус остается "рабочим". В результате изображение "обработка" зависает на странице "Управление индексацией". Конечно, нет способа убедиться, что процесс индексирования все еще не запущен, но проверка списка процессов сервера (или жестокий перезапуск или ваш apache).

Единственный разумный способ, который я знаю для решения этой проблемы, - выяснить, что вызывает эту ошибку и исправить ее. Вы можете сделать это, выполнив индексирование из вашей оболочки и выбрав выход. Вот команда:

php shell/indexer.php reindexall

Если у вас нет доступа к SSH, вы также можете попытаться найти эту ошибку в журналах ошибок сервера.

Если вы просто хотите удалить "обрабатывающий" образ, вы можете просто запустить следующий запрос MYSQL:

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

Однако это не решит проблему, а только скроет вывод.

Ответ 2

Вероятно, самый простой способ - перезапустить Apache. Он будет изящно закрывать любые открытые соединения с посетителями и должен прервать процесс PHP.

--------- EDIT ----------

В базе данных есть набор таблиц, которые выглядят связанными с индексацией, index_process и index_process_event. Вы можете попытаться вернуть состояние соответствующей записи там в ожидании и повторить попытку...

Ответ 3

Имейте в виду, что если вы используете magento под другим пользователем, чем тот, который вы используете (www-data vs mySshLoginUser), вы можете открыть себе проблемы с разрешениями в файлах блокировок. Если вы вручную запускаете индексный указатель на оболочку, эти файлы блокировки будут принадлежать вашему пользователю ssh.

В худшем случае удалите эти файлы блокировки в var/locks/* и попробуйте.