Atualizar automaticamente o cache


8

Gostaria de atualizar todo o cache em intervalos especificados, como uma vez por dia à meia-noite (como exemplo). Como posso fazer isso?

Estou usando o CE 1.9.1.


11
definir um trabalho cron e limpar cache
MeenakshiSundaram R

OK, basicamente eu estou perguntando como fazer isso. Como faço para definir um cronjob para isso?
Tijdschriftenzo 24/09

você configurou o magento cron no seu servidor?
Amit Bera


11
se você estiver atualizando o cache em intervalos, eu reavaliaria sua implementação.
B00MER

Respostas:


14

Se você estiver no seu sistema magento, magento cron jobs are working properlydefina a cronjobqual é o disparo à meia-noite e limpe o 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 classe é

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

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

Módulo completo:

crie config.xmlem app / code / 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>

Arquivo2: criar Fire.php em app / code / community / Amit / Cleancache / Model /

código:

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

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

File3: arquivo de configuração do módulo Amit_Cleancache.xml em app / etc / modules /

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

O config.xml gera este erro: "Esta página contém os seguintes erros: erro na linha 14 na coluna 14: Abrindo e finalizando incompatibilidade de tags: modelos de linha 0 e global Abaixo está uma renderização da página até o primeiro erro. 1.0. 0 Amit_Cleancache_Model "
Tijdschriftenzo

a etiqueta não estava fechada .. eu tenho a resposta atualizada .. agora verifique
Amit Bera

Ótimo, funciona como um encanto!
Tijdschriftenzo

@AmitBera Como posso definir o trabalho cron no meu servidor, como todas as noites, o cache de atualização automática e a reindexação.
zus

@AmitBera Eu criei um código simples para limpar o cache. O código é: justpaste.it/6rjvd e configuração do cron: snag.gy/AZowtf.jpg . Cron ainda não está funcionando, é certo o que eu fiz?
Gem

-1

No Magento> gerenciamento de cache> as 3 últimas opções de cache:

Imagens adicionais do Catálogo de Liberação de Gerenciamento de Cache Cache de arquivos de imagens de produtos pré-gerados. Flush Swatch Images Cache Pregenerated configurable swatch files files. Liberar temas de cache JavaScript / CSS Arquivos JavaScript e CSS combinados em um arquivo.

é possível liberar esses tipos de cache usando um trabalho cron automático?

Razão de ser:

Se eu não limpar esses caches regularmente, a coisa REDIS falhará e tudo falhará.

Obrigado :)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.