2010-11-03 11 views
11

¿Cómo puedo detener el proceso de indexación? Importé 15,000 productos e inicié la indexación, pero ahora está atascado en el procesamiento del "Índice de búsqueda de categoría". Se ha quedado atascado en el procesamiento durante dos días, ¿cómo puedo detener el proceso de indexación?Detener el proceso de indexación Magento

Cualquier ayuda se agradece, gracias de antemano.

+0

¿qué sistema operativo estás usando? –

Respuesta

3

Probablemente la forma más fácil es para reiniciar Apache. Cerrará con gracia cualquier conexión de visitante abierta y deberá finalizar el proceso de PHP.

--------- ---------- EDITAR

Hay un conjunto de tablas en la base de datos que parecen estar relacionados con la indexación, index_process y index_process_event. Puede intentar revertir el estado del registro relevante allí en espera y volver a intentarlo ...

+0

Resatarté Apache pero todavía está mostrando "procesamiento" en el índice de búsqueda de catálogo – jarus

+1

Puede que en realidad no se esté procesando pero se haya quedado pegado en esa imagen. Creo que esto ya pasó antes cuando la indexación se colgó. Supongo que querrá que se ejecute el índice, por lo que podría intentarlo de nuevo. –

+5

Para su propia cordura recomendaría usar el script indexer.php shell php en el directorio shell de Magento. Si hay errores, mostrará el error que se ejecutó (lo más probable es que encuentre algún tipo de problema de bloqueo de tablas). Dan tiene razón. Cuando falla un proceso de indexación, se bloquea como procesamiento cuando en realidad no lo es. –

10

Cuando Magento comienza la indexación de cada elemento en la lista 'Administración de índices' establece el 'estado' campo de correlativo entero de 'index_process' tabla para 'trabajar'. Si ocurre un error durante el proceso de indexación, el script se detiene y el estado permanece como 'activo'. Como resultado, la imagen de "procesamiento" se cuelga en la página "Administración de índices". Por supuesto, no hay forma de asegurarse de que el proceso de indexación aún no se esté ejecutando, pero verificando la lista de procesos de su servidor (o reinicio brutal o su apache).

La única manera inteligente que conozco para resolver este problema es averiguar lo que causa este error y solucionarlo. Puede hacerlo ejecutando la indexación desde su caparazón y buscando la salida. Este es el comando:

php shell/indexer.php reindexall 

Si usted no tiene un acceso SSH también puede intentar localizar este error de los registros de error del servidor.

Si lo que desea es eliminar la imagen 'tratamiento' que sólo puede ejecutar la siguiente consulta de MySQL:

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

Sin embargo, esto no va a resolver el problema, pero sólo ocultar la salida.

+0

¡Lectura interesante! Vamos a probarlo, ya que llevamos más de 12 horas ejecutando un proceso de indexación que indica que aún se está procesando en la parte frontal, pero tenemos nuestras sospechas de si aún se está ejecutando. –

1

Tenga en cuenta que si ejecuta magento con un usuario diferente al que está utilizando actualmente (www-data vs mySshLoginUser), puede abrirse a problemas de permisos en los archivos de bloqueo. Si ejecutó manualmente el indexador de shell, esos archivos de bloqueo pertenecerán a su usuario de ssh.

En el peor de los casos, elimine esos archivos de bloqueo en var/locks/* y pruébelo.

Cuestiones relacionadas