Je travaille avec Magento 1.9.0.1, et de temps en temps nos serveurs Redis qui hébergent le cache Magento (AWS ElastiCache) vont baisser. Dans ce cas, Magento commet une erreur fatale jusqu'à ce que Redis soit à nouveau disponible.
Il peut être difficile de répondre rapidement à cette question, mais je me demande pourquoi Magento ne peut-il pas agir comme le cache est désactivé lorsqu'il ne peut pas se connecter à Redis, au lieu de se tromper fatalement?
Je ne connais aucun paramètre ou module qui donne à Magento cette capacité, mais à première vue, cela ne semble pas difficile. Magento utilise local.xml
pour comprendre comment se connecter à la base de données et aux backends du cache. Il se connecte ensuite à la base de données et examine les options de cache pour savoir s'il faut ou non utiliser le cache. Si la base de données lui dit d'utiliser un cache donné, elle commute un indicateur (probablement une variable globale ou la propriété d'un singleton) et utilise le backend du cache pour le reste de la demande. Magento ne pourrait-il pas être fait pour désactiver cette fonction lors de cette demande si une erreur de connexion se produit?
Un site lent vaut mieux qu'une erreur fatale.
Edit: Évidemment, certaines personnes ne comprennent pas ce que je demande ou n'ont pas réellement lu ce post.
Existe-t-il un module qui donnera à Magento la possibilité de fonctionner sans erreur fatale lorsque Redis n'est pas disponible, lorsque Redis est utilisé comme méthode de stockage de cache principale.
Sinon, quelqu'un pourrait-il m'expliquer pourquoi cela n'est pas possible ou est très difficile?
la source
Réponses:
Il vous suffit de résoudre 3 problèmes / problèmes:
Évidemment, vous pouvez changer du code et placer votre logique au lieu d'une erreur.
la source