Aggiorna automaticamente la cache


8

Vorrei aggiornare tutta la cache a intervalli specifici, come una volta al giorno a mezzanotte (ad esempio). Come posso ottenere questo?

Sto usando CE 1.9.1.


1
imposta un cron job e cancella la cache
MeenakshiSundaram R

OK, in pratica sto chiedendo come farlo. Come posso impostare un cronjob per questo?
Tijdschriftenzo,

hai impostato magento cron sul tuo server?
Amit Bera


1
se stai aggiornando la cache a intervalli, allora rivaluterei la tua implementazione.
B00MER,

Risposte:


14

Se nel tuo sistema magento, magento cron jobs are working properlyallora definisci a cronjobquale fuoco a mezzanotte e svuota la cache .

<crontab>
    <jobs>
        <clean_cache_midnight><!-- identifier -->
             <schedule>
                 <cron_expr>0 0 * * *</cron_expr> <!-- run cronjob on midnight -->
             </schedule>
            <run>
                <model>MyModule_Model_Group_Class_Name::functionName</model>
            </run>
        </clean_cache_midnight>
    </jobs>
</crontab>

E la classe è

<?php
class [ModuleNameSpace]_[ModuleName]_Model_Mycron
{
    public function functionName(){

     /**
     * Flush all magento cache
     */
     Mage::app()->cleanCache();
    }
}

Modulo completo:

crea config.xmlin app / codice / community / Amit / Cleancache / etc /

<?xml version="1.0" encoding="utf-8"?>
<config>
<modules>
    <Amit_Cleancache>
        <version>1.0.0</version>
    </Amit_Cleancache>
</modules>
    <global>
        <models>
            <cleancache>
                <class>Amit_Cleancache_Model</class>
            </cleancache>
        </models>
    </global>
    <crontab>
        <jobs>
            <clean_cache_midnight><!-- identifier -->
                 <schedule>
                     <cron_expr>0 0 * * *</cron_expr> <!-- running cronjob on midnight -->
                 </schedule>
                <run>
                    <model>cleancache/Fire::fireCacheonMidnight</model>
                </run>
            </clean_cache_midnight>
        </jobs>
    </crontab>
</config>

File2: crea Fire.php in app / codice / community / Amit / Cleancache / Model /

codice:

<?php
class Amit_Cleancache_Model_Fire
{
    public function fireCacheonMidnight(){

     /**
     * Flush all magento cache
     */
     Mage::app()->cleanCache();
    }
}

File3: file di configurazione del modulo Amit_Cleancache.xml su app / etc / modules /

<?xml version="1.0" encoding="utf-8"?>
<config>
    <modules>
        <Amit_Cleancache>
            <active>true</active>
            <codePool>community</codePool>
        </Amit_Cleancache>
    </modules>
</config>

Config.xml genera questo errore: "Questa pagina contiene i seguenti errori: errore sulla riga 14 nella colonna 14: mancata corrispondenza tag di apertura e chiusura: modelli linea 0 e globale Di seguito è riportato un rendering della pagina fino al primo errore. 1.0. 0 Amit_Cleancache_Model "
Tijdschriftenzo

il tag non era vicino..ho aggiornato la risposta .. ora controlla
Amit Bera

Ottimo, funziona come un fascino!
Tijdschriftenzo,

@AmitBera Come posso impostare cron job sul mio server, come ogni notte autorefresh cache e reindex.
zus,

@AmitBera Ho creato un codice semplice per cancellare la cache. Il codice è: justpaste.it/6rjvd e configurazione cron: snag.gy/AZowtf.jpg . Ancora cron non funziona, è giusto quello che ho fatto?
Gemma

-1

In Magento> gestione cache> le ultime 3 opzioni cache:

Gestione della cache aggiuntiva Immagini del catalogo a filo Cache File di immagini di prodotti pre-generati. Flush Swatch Images Cache File di immagini di campioni configurabili pre-generati. Svuota temi della cache JavaScript / CSS File JavaScript e CSS combinati in un unico file.

è possibile svuotare questi tipi di cache utilizzando un processo cron automatico?

Il motivo è:

Se non svuoto regolarmente queste cache, la cosa REDIS fallisce e tutto si blocca.

Grazie :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.