Neuindizierung: Wann verwenden Sie "Update on Schedule" oder "Update on Save"?

10

In Magento 2 gibt es zwei Indizierungsmethoden:

  • Update pünktlich
  • Update beim Speichern

Ich verstehe die Unterschiede zwischen diesen beiden Modi, aber was ich mich frage (und worüber die Dokumentation nichts aussagt), ist, in welcher Situation würden Sie einen über den anderen wählen?

In welchem ​​Szenario wäre es also besser, "Index on Schedule" zu verwenden und umgekehrt?

Giel Berkers
quelle

Antworten:

20

Beim Speichern aktualisieren: Der Index wird so eingestellt, dass er bei jedem Speichern einer Änderung aktualisiert wird.

Update auf Schedule : Der Index wird nach Aktualisierung auf Zeitplan nach einem Cron - Job.

  • In einem kleinen Geschäft ist Update on Save in Ordnung und fügt nur sehr wenig Last hinzu.
  • Wenn Sie ein größeres Geschäft mit mehreren Administratoren haben und im Backend arbeiten, werden Ihre Indizes möglicherweise ständig ausgelöst. Das Update auf Speichern bindet MySQL und kann für große Geschäfte Stunden dauern. Um dies zu vermeiden, wird empfohlen, Ihre Indexer auf "Nach Zeitplan aktualisieren" einzustellen . Führen Sie dann die Indexer nur nach Bedarf (per Befehl) oder über eine geplante Cron-Task aus.
Moe Hammadi
quelle
Hallo @MoeHannadi, als ich "Update on Schedule" aktiviert habe, ob wir Cron auf Serverebene einrichten müssen, außer Standard 3 Cron?
Nagaraju K
Hallo Nagaraju. Sie benötigen nur die 3 Standard-Cron-Jobs. Aber stellen Sie sicher, dass Sie sie richtig eingerichtet haben. Sie können diesen Link für die Cron-Einrichtung verwenden: devdocs.magento.com/guides/v2.0/config-guide/cli/…
Moe Hammadi
Basierend auf dem Magemojo-Server richten wir die hier erwähnten Magento-Cron-Syntaxen ein. Prnt.sc/njx843 & Magento-Admin-End-aktivierter Neuindex-Modus für Lagerbestände ist prnt.sc/njwwe0 . Bitte klären Sie
Nagaraju K
Wenn Update by Schedule verwendet wird, muss es beispielsweise auch einmal täglich manuell neu indiziert werden? Eine Erweiterungsentwicklungsfirma schlug dies vor, aber sollten die Indizes nicht automatisch aktualisiert werden, wenn Update by Schedule festgelegt ist?
Webninja
1

Beim Speichern aktualisieren (Echtzeit): Indizierte Daten werden aktualisiert, sobald eine Änderung im Admin vorgenommen wird. (Beispielsweise wird der Kategorieproduktindex neu indiziert, nachdem Produkte zu einer Kategorie im Admin hinzugefügt wurden.) Dies ist die Standardeinstellung.

Aktualisierung nach Zeitplan (Zeitplan) : Die Daten werden gemäß dem von Ihrem Magento Cron-Job festgelegten Zeitplan indiziert.

Nach Zeitplan aktualisieren (Zeitplan): Verwenden eines Cron-Jobs (bevorzugt, da die Indizierung jede Minute ausgeführt wird)

Update on save :Verwenden des Befehls magento indexer : reindex [indexer] , mit dem ausgewählte Indexer oder alle Indexer nur einmal neu indiziert werden

Suresh Chikani
quelle
Das verstehe ich. Aber meine Hauptfrage ist: In welcher Situation würden Sie sich für das Speichern oder Planen entscheiden?
Giel Berkers
Siehe meine aktualisierte Antwort.
Suresh Chikani
Ich habe einen Katalog von 1.4 lac. Ich verwende Magento Enterprise. Alle Indizes werden manuell aktualisiert und haben ein Problem mit der Neuindizierung. Produktaktualisierungen werden erst im Frontend angezeigt, wenn ich SSH neu indiziere. Wenn ich ein Skript zur Neuindizierung verwende, hat dies keine Auswirkungen auf das Frontend. Was ist die beste Lösung? um die Updates sofort am Wedelende zu bekommen? Was ist der andere beste Weg, um Reindex durchzuführen, außer mit SSH?
Pravin
Hallo @MoeHannadi, als ich "Update on Schedule" aktiviert habe, ob wir Cron auf Serverebene einrichten müssen, außer Standard 3 Cron?
Nagaraju K
Wenn Ihr Magento von vielen Betreibern verwendet wird, die häufig Produkte und Kategorien aktualisieren, verwenden Sie "Nach Zeitplan aktualisieren" für Kategorieprodukte und Produktkategorien, um einen MySQL-Deadlock zu vermeiden. Dies kann dazu führen, dass ein anderer Indexer fehlschlägt, z. B. Elasticsearch. Stellen Sie sicher, dass Magento minutiös cron läuft.
Doni Wibowo