2012-03-29 22 views
14

He buscado temas similares, pero parece que ninguna solución funciona. ¿Hay alguna forma de detener un proceso de indexador de magento específico?¿Hay alguna forma de detener un proceso de indexación de magento?

Cuando trato de indexar de Shell me sale esto:

php -f indexer.php reindex all 
Stock Status Index process is working now. Please try run this process later. 
Product Prices Index process is working now. Please try run this process later. 
Catalog URL Rewrites Index process is working now. Please try run this process later. 
Product Flat Data Index process is working now. Please try run this process later. 
Category Flat Data Index process is working now. Please try run this process later. 
Category Products Index process is working now. Please try run this process later. 
Catalog Search Index Index process is working now. Please try run this process later. 
Stock Status index was rebuilt successfully 
Tag Aggregation Data Index process is working now. Please try run this process later. 

Cuando trato de ver el estado indexador me sale esto:

Product Attributes:   Pending 
Product Prices:    Pending 
Catalog URL Rewrites:   Pending 
Product Flat Data:    Pending 
Category Flat Data:   Pending 
Category Products:    Pending 
Catalog Search Index:   Pending 
Stock Status:     Pending 
Tag Aggregation Data:   Pending 

Si REINDEX de la administración, proceso de indexación tiros sin errores. ¿Hay un enlace a alguna documentación sobre este asunto?

Gracias, Radu

Respuesta

3

En primer lugar, tratar de establecer el modo de índice manual:

php indexer.php --mode-manual catalog_product_attribute 
php indexer.php --mode-manual catalog_product_price 
php indexer.php --mode-manual catalog_url 
php indexer.php --mode-manual catalog_product_flat 
php indexer.php --mode-manual catalog_category_flat 
php indexer.php --mode-manual catalog_category_product 
php indexer.php --mode-manual catalogsearch_fulltext 
php indexer.php --mode-manual cataloginventory_stock 
php indexer.php --mode-manual tag_summary 

A continuación, tratar de indexar todos los índices:

php indexer.php reindexall 

y establecer el modo de tiempo real de nuevo:

php indexer.php --mode-realtime catalog_product_attribute 
php indexer.php --mode-realtime catalog_product_price 
php indexer.php --mode-realtime catalog_url 
php indexer.php --mode-realtime catalog_product_flat 
php indexer.php --mode-realtime catalog_category_flat 
php indexer.php --mode-realtime catalog_category_product 
php indexer.php --mode-realtime catalogsearch_fulltext 
php indexer.php --mode-realtime cataloginventory_stock 
php indexer.php --mode-realtime tag_summary 

Si esto no funciona, intente reiniciar apache con algo como sudo /etc/init.d/apache2 restart. Esto debería detener el proceso de indexación y probablemente pueda volver a iniciarlo luego. Pero tenga en cuenta que su sitio no estará disponible durante unos segundos si reinicia Apache.

+0

El reinicio de Apache no ayudó tampoco. – Mike

22

La indexación en su mayoría (la mayoría de las veces significa que estoy bastante seguro de que es así) ocurre durante una sola solicitud de HTTP. Si esa solicitud se detiene/se agota el tiempo de espera/falla debido a un error de PHP, el indexador deja los archivos de bloqueo a pesar de que no hay indexación. Estos archivos se encuentran en

/path/to/mage/var/locks/index_process*.lock 

El proceso Índice

está trabajando ahora. Intente ejecutar este proceso más adelante

excepción es Magento que le dice que ve uno de estos archivos de bloqueo. Si está seguro de que nadie más está tratando de ejecutar un índice, simplemente elimine los archivos y reinicie su indexación.

+1

Yo consulto 'top' y si no muestra una sesión lsphp5 (LiteSpeed ​​WS) cronometrando a un ritmo bastante alto y bastante continuo, entonces sé que no se está ejecutando ningún proceso de índice. El siguiente paso es eliminar los archivos de bloqueo y ejecutarlos a través de la línea de comandos por separado de cada reindex para asegurarse de que todos se ejecuten por completo, evitando el agotamiento de los recursos y las sesiones prematuramente fallidas. Vale la pena pagar 'arriba' durante varias operaciones de Magento para que sepa cuál es el uso normal del procesador, entonces esto se convierte en un diagnóstico fácil. –

+1

Alan si puede por favor aclarar el proceso de indexación de magento.Comencé un proceso de indexación (índice de búsqueda del catálogo) y se detuvo al cerrar el navegador. ahora idealmente también debería terminar el proceso php detrás de él, pero cuando reviso mysql processlist ouptut sugirió que magento todavía está indexando en segundo plano la indexación aún se estaba ejecutando en segundo plano se confirmó cuando vi que el documento solr también se estaba actualizando. No entendí cómo magento logró mantener el proceso en ejecución. El sitio está en fase de creación, por lo que nadie más inició el índice ni desde el shell ni desde el navegador. – anshuman

+0

Hay una carpeta ** bloqueos ** en esta ruta '/ ruta/a/mage/var /' –

1

En las últimas versiones, los archivos de bloqueo se han cambiado y funcionan desde la base de datos (Magento 1.9).

Inicie sesión en su phpMyAdmin y ejecute el siguiente comando.

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

http://www.writeyourcode.com/stop-magento-indexing-process/

Cuestiones relacionadas