Saya bekerja dengan Magento 1.9.0.1, dan setiap saat server Redis kami yang meng-host cache Magento, (AWS ElastiCache) akan turun. Ketika ini terjadi, Magento fatal kesalahan sampai Redis tersedia lagi.
Ini mungkin pertanyaan yang sulit dijawab dengan cepat, tetapi yang saya ingin tahu adalah mengapa Magento tidak dapat bertindak seperti cache dinonaktifkan ketika tidak dapat terhubung ke Redis, alih-alih kesalahan fatal?
Saya tidak mengetahui pengaturan atau modul apa pun yang memberi Magento kemampuan ini, tetapi di permukaan sepertinya tidak sulit. Magento menggunakan local.xml
untuk mencari tahu bagaimana menghubungkan ke database, dan cache backend. Itu kemudian terhubung ke database dan melihat opsi cache untuk mengetahui apakah akan menggunakan cache atau tidak. Jika diberitahu oleh database untuk menggunakan cache yang diberikan, ia akan mengganti beberapa flag (mungkin variabel global atau properti dari singleton,) dan menggunakan backend cache untuk sisa permintaan. Tidak bisakah Magento dibuat untuk mematikan ini kembali selama permintaan itu jika terjadi kesalahan koneksi?
Situs lambat lebih baik daripada kesalahan fatal.
Sunting: Jelas beberapa orang tidak mengerti apa yang saya minta atau tidak benar-benar membaca posting ini.
Apakah ada modul yang akan memberi Magento kemampuan untuk berfungsi tanpa kesalahan fatal ketika Redis tidak tersedia, ketika Redis digunakan sebagai metode penyimpanan cache utama.
Jika tidak, bisakah seseorang memberi tahu saya mengapa hal ini tidak mungkin atau sangat sulit?
sumber
Jawaban:
Yang harus Anda lakukan hanya memperbaiki 3 masalah / masalah:
Jelas Anda dapat mengubah beberapa kode dan menempatkan logika Anda alih-alih kesalahan.
sumber