Hintergrundaufgaben
P2Lab Mirakl führt 14 geplante Aufgaben im Hintergrund aus — sie holen Bestellungen, schicken Bestände, frischen Daten auf, räumen alte Protokolle weg und so weiter. Keine davon tut etwas, solange nicht zwei Dinge auf Ihrem Host laufen:
- Ein Scheduler, der fällige Aufgaben anstößt. In einer Shopware-Installation ist das der Befehl
scheduled-task:run, üblicherweise einmal pro Minute über Cron aufgerufen. - Ein Hintergrundprozess, der die angestoßene Arbeit ausführt. Das ist der Befehl
messenger:consume async, als langlaufender Prozess gehalten.
Ohne den Scheduler werden Aufgaben nie fällig. Ohne den Hintergrundprozess stapelt sich die angestoßene Arbeit in der Warteschlange und nichts passiert.
Aufgabenkatalog
Abschnitt betitelt „Aufgabenkatalog“Jede Aufgabe läuft in einem Standardintervall und kann auf der Shopware-Adminseite Einstellungen → System → Geplante Aufgaben neu justiert werden. Synchronisationsbezogene Intervalle lassen sich auch pro Funktion auf dem Reiter Mirakl → Einstellungen → Synchronisierungseinstellungen setzen — siehe Einstellungen.
| Aufgabe | Standardintervall | Was sie tut |
|---|---|---|
| Bestandssynchronisation | 15 Min. | Schickt Bestandsaktualisierungen für alle aktiven Angebotszuordnungen an den Marktplatz. |
| Bestellimport | 30 Min. | Holt neue und aktualisierte Bestellungen von jedem Marktplatz und erstellt sie in Shopware. |
| Produktexport | 30 Min. | Nimmt Produkte, die für den Export vorgemerkt sind, und sendet sie an den Marktplatzkatalog. |
| Importstatus-Prüfung | 5 Min. | Fragt laufende Produkt-, Angebots- und Bestandsimporte auf Abschluss ab; holt bei Fehlern Berichte zu einzelnen Zeilen. |
| Nachrichtensynchronisation | 30 Min. | Holt neue eingehende Bestellnachrichten. Standardmäßig aus. |
| Bestelldokument-Synchronisation | 30 Min. | Holt neue eingehende Bestelldokumente. Standardmäßig aus. |
| Dokumentanforderungs-Synchronisation | 24 Std. | Holt vom Betreiber ausgestellte Dokumentanforderungen (Rechnungen, Gutschriften). Standardmäßig aus. |
| Rechnungssynchronisation | 24 Std. | Holt neue Rechnungen vom Marktplatz. Standardmäßig aus. |
| Transaktionsprotokoll-Synchronisation | 24 Std. | Holt neue Einträge aus dem Transaktionsprotokoll des Marktplatzes. Standardmäßig aus. |
| Transaktionsprotokoll-Export-Abfrage | 5 Min. | Fragt den asynchronen Transaktionsprotokoll-Exportauftrag des Betreibers ab und lädt die Datei herunter, sobald sie bereit ist. |
| API-Protokoll-Aufräumung | 24 Std. | Löscht API-Protokoll-Zeilen, die älter sind als API-Protokoll-Aufbewahrung (Tage). |
| Synchronisationsprotokoll-Aufräumung | 24 Std. | Löscht Sync-Protokoll-Zeilen, die älter sind als Synchronisierungsprotokoll-Aufbewahrung (Tage). |
| Aufgaben-Aufräumung | 24 Std. | Löscht abgeschlossene Einträge aus der Tasks-Liste. |
| Export-Aufräumung | 1 Std. | Löscht abgeschlossene Produktexport-Einträge und die erzeugten CSV-Dateien. |
Einzelne Synchronisationen ein- und ausschalten
Abschnitt betitelt „Einzelne Synchronisationen ein- und ausschalten“Jede Synchronisation hat ihren eigenen Hauptschalter auf dem Reiter Mirakl → Einstellungen → Synchronisierungseinstellungen. Wenn der Schalter aus ist, läuft die geplante Aufgabe weiterhin in ihrem Intervall, der Handler überspringt sie aber — es wird kein Marktplatz-Aufruf gemacht, kein dauerhafter Zustand geändert. Den Schalter auszuschalten ist der empfohlene Weg, eine Synchronisation zu pausieren.
Standardmäßig:
- Bestandssynchronisierung aktivieren, Bestellimport aktivieren, Produktexport aktivieren — an.
- Nachrichtensynchronisierung aktivieren, Bestelldokument-Synchronisierung aktivieren, Dokumentanforderungs-Synchronisierung aktivieren, Rechnungssynchronisierung aktivieren, Transaktionsprotokoll-Synchronisierung aktivieren — aus. Schalten Sie sie nach Bedarf ein.
Die vier Aufräumaufgaben (API-Protokoll-Aufräumung, Synchronisationsprotokoll-Aufräumung, Aufgaben-Aufräumung, Export-Aufräumung) haben keinen Schalter — sie laufen immer. Sie verwenden die Aufbewahrungseinstellungen auf der Karte Protokolle des Reiters Mirakl → Einstellungen → Optionen.
Langlaufende Aktionen aus dem Adminbereich
Abschnitt betitelt „Langlaufende Aktionen aus dem Adminbereich“Wenn Sie aus dem Adminbereich etwas anstoßen, das länger dauert — ein manueller Export, eine manuelle Synchronisation, das Auffrischen von Referenzdaten, ein Assistentenschritt mit Fortschrittsanzeige — legt das Plugin einen Eintrag in der Tasks-Liste an (Dashboard → Quick Start → Tasks), den der Adminbereich auf Fortschritt abfragt.
Jeder Eintrag durchläuft diese Stufen: Wartet → In der Warteschlange → Verarbeitung → Abgeschlossen (oder Fehler, oder Abgebrochen). Die Liste zeigt den Prozentsatz und die letzte Nachricht. Die Aufgabe Aufgaben-Aufräumung entfernt abgeschlossene Einträge nach einem Tag.
Wiederherstellung, wenn ein Hintergrundprozess stirbt
Abschnitt betitelt „Wiederherstellung, wenn ein Hintergrundprozess stirbt“Das Plugin ist so gebaut, dass es Neustarts der Hintergrundprozesse übersteht, ohne Arbeit zu verlieren oder zu verdoppeln:
- Selbstverkettende Chargen — lange Uploads stoßen die nächste Seite an, bevor sie zurückkehren, sodass ein Absturz mitten in der Charge höchstens eine Seite verliert. Der nächste geplante Lauf findet sie wieder und macht weiter.
- Cursor-basierte Synchronisationen (Bestellimport, Nachrichten-, Dokument-, Rechnungs-, Transaktionsprotokoll-Synchronisation) merken sich, wo sie zuletzt waren. Ein Absturz bedeutet, dass beim nächsten Lauf vom selben Punkt aus weitergemacht wird — keine Duplikate, keine ausgelassenen Datensätze.
- Drosselungs-Sperren — die Minutenpause-Sperre (siehe API-Drosselung) gibt sich nach kurzer Zeit selbst frei, wenn der Prozess, der sie gehalten hat, gestorben ist.
Tipps und Fallstricke
Abschnitt betitelt „Tipps und Fallstricke“Verwandte Themen
Abschnitt betitelt „Verwandte Themen“- Synchronisationsprotokolle — was jede Aufgabe schreibt
- API-Drosselung — wie das Plugin seine eigenen Aufrufe verteilt
- Einstellungen — alle einstellbaren Intervalle und Schalter
- Referenz → Enums — die Werte aus der Tasks-Liste