2010-11-03 9 views
11

Wie kann ich den Indizierungsprozess anhalten? Ich hatte 15.000 Produkte importiert und die Indizierung gestartet, aber jetzt ist es bei der Verarbeitung für "Kategoriesuchindex" hängen geblieben. Seit zwei Tagen ist es bei der Verarbeitung hängen geblieben. Wie kann ich den Indizierungsprozess stoppen?Stoppen des Magento-Indexierungsprozesses

Jede Hilfe wäre willkommen, danke im Voraus.

+0

Welches Betriebssystem verwenden Sie? –

Antwort

3

Wahrscheinlich ist der einfachste Weg Apache neu zu starten. Es schließt alle offenen Besucherverbindungen und beendet den PHP-Prozess.

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

eine Reihe von Tabellen in der Datenbank gibt, die auf die Indizierung im Zusammenhang sehen werden, index_process und index_process_event. Sie könnten versuchen, den Status des betreffenden Datensatzes auf "Ausstehend" zurückzusetzen und es erneut zu versuchen ...

+0

Ich habe Apache neu gestartet aber immer noch zeigt es "Verarbeitung" auf Katalogsuche Index – jarus

+1

Es möglicherweise nicht tatsächlich Verarbeitung, aber stecken auf dem Bild. Ich glaube, ich hatte das schon einmal, als die Indexierung aufhörte. Ich nehme an, dass Sie wollen, dass der Index läuft, so dass Sie es genauso gut versuchen könnten. –

+5

Für Ihre eigene Gesundheit würde ich empfehlen, das indexer.php shell php script im Shell-Verzeichnis von Magento zu verwenden. Wenn es Fehler gibt, zeigt es den Fehler an, in den es geriet (am wahrscheinlichsten wirst du eine Art von Tabellensperrproblem finden). Dan hat Recht. Wenn ein Indizierungsprozess fehlschlägt, bleibt er als Verarbeitung stecken, wenn dies nicht der Fall ist. –

10

Wenn Magento mit der Indexierung jedes Elements in der Liste "Indexverwaltung" beginnt, wird das Feld "Status" der korrelativen Ganzzahl von "index_process" gesetzt. Tabelle zu "arbeiten". Wenn ein Fehler während des Indexierungsprozesses auftritt, wird das Script angehalten und der Status bleibt als 'funktionierend' erhalten. Als Ergebnis hängt das Bild für die Verarbeitung auf der Seite "Index Management". Natürlich gibt es keine Möglichkeit sicherzustellen, dass der Indizierungsprozess nicht läuft, sondern die Prozessliste Ihres Servers (oder brutalen Neustart oder Apache) überprüft.

Der einzige intelligente Weg, den ich kenne, um dieses Problem zu lösen, ist herauszufinden, was diesen Fehler verursacht und es zu beheben. Sie können dies tun, indem Sie die Indexierung von Ihrer Shell aus ausführen und nach der Ausgabe suchen. Hier ist der Befehl:

php shell/indexer.php reindexall 

Wenn Sie nicht über einen SSH-Zugang haben Sie diesen Fehler auch versuchen können, Ortung von Ihrem Server Fehlerprotokoll.

Wenn Sie nur wollen Sie gerade laufen können folgende MYSQL Abfrage ‚Verarbeitung‘ Bild zu entfernen:

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

dies jedoch wird das Problem nicht lösen, sondern nur verstecken die Ausgabe.

+0

Interessante Lesung! Wir werden es ausprobieren, da wir seit mehr als 12 Stunden einen Index-Prozess laufen, der sagt, dass er immer noch am Frontend verarbeitet wird, aber wir haben den Verdacht, dass er noch läuft! –

1

Denken Sie daran, wenn Sie Magento unter einem anderen Benutzer als dem verwenden, den Sie gerade verwenden (www-data vs mySshLoginUser), könnten Sie sich bei den Sperrdateien für Probleme mit Berechtigungen öffnen. Wenn Sie den Shell-Indexer manuell ausgeführt haben, gehören diese Sperrdateien zu Ihrem ssh-Benutzer.

Im schlimmsten Fall löschen Sie diese Sperrdateien in var/locks/* und versuchen Sie es.

Verwandte Themen