Saya mendapatkan pesan galat berikut beberapa kali sehari, dan pengetahuan saya tentang cara kerja Magento CE 1.9.0.1 cukup tipis sehingga saya tidak tahu apakah ini normal, perilaku penasihat dari Magento, atau apakah ia memberi tahu saya, saya punya masalah buruk.
Ini pesannya:
Satu atau lebih dari Tipe Cache tidak valid: Blok output HTML. Klik di sini untuk pergi ke Manajemen Cache dan menyegarkan jenis cache.
Menyegarkan cache tertentu membuat masalah hilang selama beberapa jam atau lebih.
Saat ini saya tidak mengedit tata letak, produk, dll., Tidak ada sama sekali.
Apa yang salah dan bagaimana saya bisa memperbaikinya?
ce-1.9.0.1
block-cache
Dave G
sumber
sumber
Jawaban:
Pertama, penting untuk dipahami bahwa ini bukan kesalahan, itu hanya pemberitahuan.
Mungkin ada banyak alasan cache blok tidak valid dari pembaruan produk, perubahan aturan harga katalog, dan ekstensi pihak ke-3. Menjalankan cronjobs juga dapat menyebabkan cache blok menjadi tidak valid juga.
Ada beberapa ekstensi komunitas yang tersedia (tercantum di bawah) yang akan menyegarkan blokir Anda karena menjadi tidak valid.
https://github.com/tomasinchoo/Inchoo_InvalidatedBlockCacheFix
https://github.com/mklooss/Loewenstark_InvalidCache
sumber
Ini adalah kesalahan.
Ada masalah pekerjaan CRON (posting 1.9.?) Yang menjalankan dan membatalkan Cache HTML, yang menghasilkan masalah (misalnya dalam kasus saya, gagal membawa diskon harga ke Keranjang - sehingga pelanggan akan dikenakan jumlah yang salah).
Kita tidak perlu menjalankan ekstensi untuk memperbaiki masalah yang telah diperkenalkan!
sumber
Ini adalah operasi Magento standar dari 1.6.xx dan maju. Sesuatu selalu menyebabkan pembatalan cache blok html acak.
Saya baru saja mengatur seorang pengamat yang melakukan pekerjaan cron periodik, mengatur interval apa pun yang tampaknya sesuai.
Observer.php
config.xml
sumber
Indikator cache yang tidak valid ini mungkin terkait dengan cron dailyCatalogUpdate. Bertanggung jawab untuk menerapkan / menyegarkan peraturan katalog.
Sekali sehari, ia memanggil
Mage::getSingleton('catalogrule/rule')->applyAll();
.Di dalam kode metode ini, ada panggilan untuk
$this->_invalidateCache()
, yang pada gilirannya panggilan$this->_app->getCacheInstance()->invalidateType()
padablock_html
tembolok.Masalahnya adalah bahwa cache tidak valid tanpa melakukan pemeriksaan untuk menentukan apakah itu mungkin masih valid. Bagi saya, ini lebih baik daripada tidak membatalkan cache, karena dengan begitu Anda setidaknya bisa tahu bahwa itu bisa tidak valid, dan menggunakan sesuatu seperti apa yang disarankan Fiasco Labs untuk menyiram data cache berpotensi (tidak valid).
Itu kemudian menjadi keputusan apakah Anda ingin membuat kesalahan di sisi:
A) Menunjukkan kepada pelanggan harga yang salah, tetapi menjaga cache, dan dengan demikian memiliki lebih sedikit beban server
atau
B) Menampilkan harga yang benar, tetapi memiliki lebih banyak cache yang hilang, dan karenanya memuat server lebih tinggi.
Ada dua hal yang sulit dalam ilmu komputer: penamaan hal-hal dan pembatalan cache .
sumber
lihat di sini solusinya: https://magento.stackexchange.com/a/72687
Pada dasarnya ubah fungsi dailyCatalogUpdate dari app / code / local / Mage / CatalogRule / Model / Observer.php ke
sumber