Ich arbeite mit Magento 1.9.0.1 und ab und zu fallen unsere Redis-Server, auf denen sich der Magento-Cache befindet (AWS ElastiCache), aus. In diesem Fall tritt Magento tödlich auf, bis Redis wieder verfügbar ist.
Es mag schwierig sein, diese Frage schnell zu beantworten, aber ich frage mich, warum Magento nicht so tun kann, als wäre der Cache deaktiviert, wenn keine Verbindung zu Redis hergestellt werden kann, anstatt sich tödlich zu irren.
Mir sind keine Einstellungen oder Module bekannt, die Magento diese Fähigkeit verleihen, aber an der Oberfläche scheint es nicht schwierig zu sein. Magento verwendet, local.xml
um herauszufinden, wie eine Verbindung zur Datenbank und zu den Cache-Backends hergestellt werden kann. Anschließend wird eine Verbindung zur Datenbank hergestellt und anhand der Cache-Optionen ermittelt, ob der Cache verwendet werden soll oder nicht. Wenn die Datenbank anweist, einen bestimmten Cache zu verwenden, wechselt sie ein Flag (wahrscheinlich eine globale Variable oder die Eigenschaft eines Singletons) und verwendet das Cache-Backend für den Rest der Anforderung. Könnte Magento nicht dazu gebracht werden, dies während dieser Anforderung wieder auszuschalten, wenn ein Verbindungsfehler auftritt?
Eine langsame Site ist besser als ein schwerwiegender Fehler.
Bearbeiten: Offensichtlich verstehen einige Leute nicht, was ich frage oder haben diesen Beitrag nicht wirklich gelesen.
Gibt es ein Modul, mit dem Magento ohne schwerwiegende Fehler funktionieren kann, wenn Redis nicht verfügbar ist und Redis als primäre Cache-Speichermethode verwendet wird?
Wenn nicht, könnte mich jemand aufklären, warum dies nicht möglich oder sehr schwierig ist?
quelle
Antworten:
Alles was Sie tun müssen, sind nur 3 Probleme zu beheben:
Natürlich können Sie Code ändern und Ihre Logik anstelle eines Fehlers platzieren.
quelle