API-Calls alle 15min (Bestand, Preis, Lieferzeit) -- Probleme mit Cache und Ladezeiten?

Hallo, wir wollen alle 15min einen Abgleich der Bestände, Preise und Lieferzeiten mit unserer WaWi machen. Das geschieht über die REST API in Shopware.

Es sind ca. 13000 Artikel. 

Kommt uns da der Shopware-Cache irgendwie in die Quere? sinkt die Performance? Ladezeiten länger?

Ich kann das leider nicht abschätzen, müsste aber Meldung an den Dienstleister für die Schnittstelle geben, wie wir es am besten lösen… gibt es Erfahrungswerte?

 

Im Internet habe ich einen Hinweis gefundne

Durch die Änderung der Einstellungen bzgl. des Invalidieren der Cache Objekte sind Änderungen an den Artikeldaten (Preis, Verfügbarkeit) nun nicht mehr sofort im Frontend verfügbar.
Der Shopware HTTP Cache muss nun manuell aktualisiert werden und es entstehen zusätzliche Lastspitzen bzw. zusätzlicher Ressourcenbedarf.

 

stimmt mich nachdenklich…

wär super, wenn hier ein offizielles Statement da wäre von Shopware

Machen wir nachts, bzw. Preise für Kunde holen, wenn dieser sich einloggt. Du musst halt bedenken: wie sagst/beschreibst du dem User, wenn im Warenkorb sich auf einmal der Preis ändert. Oder der Artikel vor dem Hinzufügen in den Warenkorb noch verfügbar war, aber beim Checkout nicht mehr verfügbar ist.

Ahoi,

unserer Erfahrung nach invalidiert jedes Update eines Artikels den entsprechenden Cache des Artikels - was in manchen Situationen zur Folge hat, dass man gar keinen Cache mehr hat. Daten via API Auslesen ist aber kein Problem.

Viele Grüße

Tobi

[@Net Inventors GmbH](http://forum.shopware.com/profile/1171/Net Inventors GmbH “Net Inventors GmbH”)‍ es geht nicht um Auslesen sondern um Updates in der Shopware Datenbank

@raymond‍ leider ist nichts für uns nicht möglich. Es kann sich der Bestand auch ändern weil ein Händler bei uns telefonisch plötzlich eine Riesenmenge ordert, deshalb muss das relativ oft abgeglichen werden. Es ändern sich auch die Lieferzeiten, wenn ein Artikel nicht mehr verfügbar ist (er ist trotzdem kaufbar).

Deshalb müssen wir 15min Zyklen haben.

Wenn wir  “gar keinen Cache” mehr haben, macht das natürlich unseren Shop langsam, oder?

Kann man hier mittels den Einstellungen bei  HTTP-Cache irgendwie eine passende Einstellung treffen? Es soll ja nicht dauernd der Artikel aus dem Cach fliegen (Invalidierung) um nicht die Ladezeiten in die Höhe zu treiben. Anderer seits sollen natürlich die Änderungen (Lieferzeit, Bestand, Preis) auch im Frontend sofort sichtbar werden.

Ist es nicht möglich nur die Artikel abzugleichen, die seit dem letzten Update 15 Minuten zuvor tatsächlich eine Änderung erfahren haben?

Ohne den Cache zu invalidieren geht es nicht, wie soll sonst die Artikel-Detailseite auf die Lagerbestandänderung reagieren (Änderung Lieferzeit etc.). Das was drakon sagt ist da schon ganz gut. 

In anderen Kundenprojekten werden besonders für eine Art Live-Bestände spezielle Webservices entwickelt und in Shopware implementiert. Der Webservice ist dann im Prinzip zwischen eurer WaWi und Shopware. Vielleicht wäre das ein Ansatz, benötigt aber eingies an Individualisierung.

VG 

Andre Herking

@drakon‍ leider kann ich nicht sagen ob das möglich ist, da wir nicht die Schnittstelle programmieren.

falls diese Möglichkeit umsetzbar ist, wie müsste denn dann der HTTP-Cache konfiguriert sein?

@FloC3 schrieb:

[@Net Inventors GmbH](http://forum.shopware.com/profile/1171/Net Inventors GmbH „Net Inventors GmbH“)‍ es geht nicht um Auslesen sondern um Updates in der Shopware Datenbank

Ahoi…

deswegen schrieb ich ja „Unserer Erfahrung nach invalidiert jedes Update eines Artikels den entsprechenden Cache des Artikels“  - das heißt, aktualisierst du den Bestand eines Artikels via API ist der Cache des Artikels invalidiert - bis zum nächsten Frontendaufruf des Artikels, dann wird der Cache wieder aufgebaut - was für den Kunden der den Artikel aufruft in der Regel mit einer längeren Wartezeit einhergeht.

 

 

[@Net Inventors GmbH](http://forum.shopware.com/profile/1171/Net Inventors GmbH „Net Inventors GmbH“)‍ hallo, das heißt ich müsste nichts weiter einstellen als den Haken bei „automatische Invalidierung“ setzen?

gibt es eine Möglichkeit, nach einem API Call (der einen oder mehrere Artikel invalidiert) die betroffenen Artikelseiten wieder in den Cache legen zu lassen (Cache aufwärmen) ?

Kann man den Cache per Cron aufwärmen lassen?

push

Hallo, 

der Beitrag ist zwar schon älter, aber gibt es hier schon einen Lösungsansatz? „gibt es eine Möglichkeit, nach einem API Call (der einen oder mehrere Artikel invalidiert) die betroffenen Artikelseiten wieder in den Cache legen zu lassen (Cache aufwärmen) ?“

 

Danke!