Остановка процесса индексации Magento - PullRequest
11 голосов
/ 03 ноября 2010

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

Буду признателен за любую помощь, заранее спасибо.

Ответы [ 3 ]

10 голосов
/ 07 мая 2011

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

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

php shell/indexer.php reindexall

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

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

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

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

3 голосов
/ 03 ноября 2010

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

--------- РЕДАКТИРОВАТЬ ----------

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

1 голос
/ 20 декабря 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...