Google Shopping: Workaround für die Erstellung eines Feeds über Scheduled Task
von Heike Moser
Ein Kunde, der unser Plugin "Google Shopping Pro (Shopware 6)" im Einsatz hat, hat uns mit folgender Ausgangslage kontaktiert: Der Kunde möchte einen Google Shopping Feed über eine Scheduled Task einmal am Tag erstellen und an Google senden. Hintergrund hierfür ist, dass der Onlineshop viele Produkte im Sortiment hat und dies bei einer live Übertragung des Feeds zu Problemen führt. Leider enthält der Feed nach der Übertragung zu Google nicht alle Produkte.
Ursache hierfür ist, dass die Generierung über eine geplante Aufgabe nicht richtig funktioniert. Dies ist ein allgemeines Shopware-Problem und lässt sich mit Hilfe eines Workaround lösen, den wir Dir zeigen möchten.
Der Workaround besteht darin, einen Cronjob für die Generierung zu verwenden und die Scheduled Task in der Datenbank auf den Status „stopped“ zu setzen.
Die Regenerationszeit muss auf eine höhere Zeit gesetzt werden als die Wiederholungszeit des Cronjobs. Der Feed wird dann nicht durch einen Webaufruf neu generiert.
Folgenden Befehl musst Du über die Konsole eingeben:
bin/console product-export:generate 67cc288c19d042f896efe6db930f0ed6 66fa2b38820048449fd8616ed529223a --force
bin/console product-export:generate SALES_CHANNEL_ID PRODUCT_EXPORT_ID --force
Beachte: Die PRODUCT_EXPORT_ID ist die ID des Exports in der Datenbanktabelle "product_export". Es gibt keine Möglichkeit, diese ID in der Shopware Administration zu sehen.
Auf diesem Wege lösen wir für unsere Kunden mit großen Produktbeständen das Problem. Wir hoffen, dass wir Dir hiermit weiterhelfen konnten.
Kommentare
Kommentar von Mirco |
Hallo Frau Moser,
besten Dank für diesen Beitrag. Ich habe die Vermutung, dass dies mein Problem mit zwei Feeds lösen kann. Leider bin ich mir noch nicht ganz im Klaren darüber, wie die Einstellung im Shopware Backend aussehen müssen.
Der Einstellungswert "Per Scheduler generieren" ist also in dem Produktvergleich deaktivert, richtig?
Wie setzte ich diesen Punkt um "Die Regenerationszeit muss auf eine höhere Zeit gesetzt werden als die Wiederholungszeit des Cronjobs"?
Beste Grüße
Mirco
Antwort von Heike Moser
Hallo Mirco,
Vielen Dank für Deine Nachricht. Gerne beantworte ich Deine Fragen.
Ja, der Einstellungswert "Per Scheduler generieren" ist im Produktvergleich deaktiviert.
Du kannst den Generierungsintervall beispielsweise auf 1 Woche einstellen und den Cronjob jeden Tag ausführen lassen. Dann wird der Feed tagesaktuell erstellt.
Viele Grüße
Heike Moser
Einen Kommentar schreiben