Actualiser automatiquement le cache


8

Je voudrais actualiser tout le cache à des intervalles spécifiés, comme une fois par jour à minuit (à titre d'exemple). Comment puis-je accomplir cela?

J'utilise CE 1.9.1.


1
définir un travail cron et vider le cache
MeenakshiSundaram R

OK, je demande essentiellement comment faire ça. Comment définir un cronjob pour cela?
Tijdschriftenzo

avez-vous configuré magento cron sur votre serveur?
Amit Bera


1
si vous actualisez le cache à intervalles, je réévaluerais votre implémentation.
B00MER

Réponses:


14

Si dans votre système magento, magento cron jobs are working properlyvous définissez a cronjobqui le feu sur minuit et cache clair .

<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>

Et la classe est

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

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

Module complet:

créer config.xmlà l' application / code / communauté / 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: créer Fire.php dans l' application / code / communauté / Amit / Cleancache / Model /

code:

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

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

File3: fichier de configuration du module Amit_Cleancache.xml dans app / etc / modules /

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

Le fichier config.xml génère cette erreur: "Cette page contient les erreurs suivantes: erreur sur la ligne 14 à la colonne 14: incompatibilité d'ouverture et de fin de balise: modèles ligne 0 et global Ci-dessous est un rendu de la page jusqu'à la première erreur. 1.0. 0 Amit_Cleancache_Model "
Tijdschriftenzo

la balise n'était pas proche .. j'ai mis à jour la réponse .. maintenant vérifiez
Amit Bera

Super, fonctionne comme un charme!
Tijdschriftenzo

@AmitBera Comment puis-je définir le travail cron sur mon serveur, comme chaque cache de mise à jour automatique et réindexation de nuit.
zus

@AmitBera J'ai créé un code simple pour vider le cache. Le code est: justpaste.it/6rjvd et configuration cron: snag.gy/AZowtf.jpg . Cron ne fonctionne toujours pas, c'est bien ce que j'ai fait?
Gem

-1

Dans Magento> gestion du cache> les 3 dernières options de cache:

Fichiers d'images de catalogue supplémentaires de gestion de la mémoire cache. Fichiers d'images de produit prégénérés. Flush Swatch Images Cache Fichiers d'images de nuances configurables pré-générées. Vider les thèmes de cache JavaScript / CSS Fichiers JavaScript et CSS combinés en un seul fichier.

est-il possible de vider ces types de cache à l'aide d'une tâche cron automatique?

Raison d'être :

Si je n'efface pas ces caches régulièrement, alors la chose REDIS échoue et tout se bloque.

Merci :)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.