Beschreibung
Mit der Shop-Schnittstelle MerWare können Daten nicht nur direkt, sondern auch asynchron innheralb von Shopware verarbeitet werden.
Diese Verarbeitungsart hat folgende Vorteile:
• | Export innerhalb von MERCATOR ist schnell abgeschlossen (besonders bei hohen Datenmengen) |
• | Exportdialog kann sofort nach der Datenübergabe an den Webserver geschlossen werden |
• | Webserver verarbeitet nach der Übergabe selbstständig die Daten, komplett unabhängig von MERCATOR |
• | MERCATOR kann beendet werden, ohne das die Verarbeitung gestört wird (Datensicherung, Benutzerwechsel, Zeitsteuerung ...) |
Grundvoraussetzungen
Um die Daten asynchron verarbeiten lassen zu können, sind ein paar Voraussetzungen innerhalb vom Shop notwendig:
• | Aktivierung und Installation vom Shopware Standard Plugin Cron |
• | Konfiguration und Aufruf des Shopware Crons, Dokumentation: http://community.shopware.com/Cronjobs_detail_1102.html |
• | mind. MerWare Version 3.1.1 |
Einstellungen
Aktivierung des Cronjobs
Mit der Schnittstelle (ab Version 3.1.1) wird automatisch ein Cronjob Shopware_CronJob_MerwareImport innerhalb vom Shopware Backend angelegt.
Diesen finden Sie im Shopware Backend unter Grundeinstellungen > System > Cronjobs
Den Cronjob MerWare Import markieren, im Sidebar-Dialog aktivieren und speichern:
Je nach Paketgröße, Server-Perfomance und sonstiger Last müssen Sie noch ein paasendes Intervall einstellen.
Im Standard geben wir ein Intervall von 2 Minuten an, welches Sie natürlich nach belieben erhöhen können.
Je kleiner das Intervall ist, desto schneller werden die Dateien verarbeitet.
Diese Einstellung ist somit je nach System zu entscheiden, wobei eine Paketgröße von 25-50 Datensätzen und ein Cron-Intervall von 2-5 Minuten im Standard empfohlen wird.
HTTP Cache
In der normalen (direkten) Datenverarbeitung (Export aus MERCATOR mit anschließender Verarbeitung im Shop) wird,
wenn gewünscht, der Frontend bzw. HTTP Cache geleert, damit Änderungen an den Daten direkt sichtbar sind.
Diese Funktionalität kann innerhalb der Cronjob-Datenverarbeitung nicht gegeben werden, da diese auch läuft,
wenn keine Exportdaten auf dem Webserver vorhanden sind und so nicht der letzte Export gefiltert werden kann.
Daher müssten Sie (wenn gewünscht) den HTTP Cache per Cronjob löschen.
Das erreichen Sie einfach, indem der Standard Cronjob HTTP Cache löschen aktiviert und eingestellt wird.
Damit wäre nicht mehr die Schnittstelle, sondern nur noch der Shop für den HTTP Cache zuständig.
Systemprüfung
Ein erfolgreiches Setup können Sie testen, indem Sie den Cronjob in den Grundeinstellungen sichten.
Bei einer richtigen Installation sollten sich die Zeiten bei Letzte Ausführung bzw. Nächste Ausführung regelmäßig ändern.
Innerhalb der Ergebnisdaten steht ein true wenn die letzte Datenverarbeitung erfolgreich abgeschlossen werden konnte.
Ab Shopware 5.2 können Sie ebenfalls einstellen, ob der Cronjob bei einem Fehler angehalten werden soll.
Perfomance
Wenn zu wenig Daten im Cronjob verarbeitet werden (z.B. zu lange Wartedauern, bis alles verarbeitet wurde, oder eine Ansammlung von Dateien),
können Sie über die Plugin Konfigurationen die Anzahl an Dateien festlegen, die pro Aufruf des Cronjobs verarbeitet werden sollen.
Bei z.B. 25 Datensätze pro Datei können Sie bei 3-5 Dateien pro Aufruf ansetzen, je nach Server-Konfiguration können Sie diese Zahl entweder nach unten oder oben korrigieren.