キャッシュを自動的に更新


8

(例として)1日1回真夜中になど、指定した間隔ですべてのキャッシュを更新したいと思います。どうすればこれを達成できますか?

CE 1.9.1を使用しています。


1
cronジョブを設定してキャッシュをクリア
MeenakshiSundaram R

はい、基本的にはその方法を尋ねています。これにcronjobを設定するにはどうすればよいですか?
Tijdschriftenzo 2015

サーバーにmagento cronを設定しましたか?
アミットベラ


1
間隔を置いてキャッシュを更新している場合は、実装を再評価します。
B00MER

回答:


14

あなたのMagentoのシステムの場合は、magento cron jobs are working properlyあなたが定義しa cronjob深夜、クリアキャッシュに火を

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

そしてクラスは

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

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

完全なモジュール:

つくる config.xmlapp / 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>

ファイル2: app / code / community / Amit / Cleancache / Model /に作成 Fire.php

コード:

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

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

FILE3:モジュール設定ファイルAmit_Cleancache.xmlでのアプリの/ etc /モジュール/

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

config.xmlはこのエラーを生成します。「このページには次のエラーが含まれています:行14の列14のエラー:開始タグと終了タグの不一致:モデル行0およびグローバル以下は、最初のエラーまでのページのレンダリングです。1.0。 0 Amit_Cleancache_Model "
Tijdschriftenzo

タグはclose..iが今チェック..答えを更新していませんでした
アミットベラ

すばらしい、魅力のように動作します!
Tijdschriftenzo 2015

@AmitBera毎晩の自動更新キャッシュやインデックスの再作成など、サーバーにcronジョブを設定するにはどうすればよいですか。
zus

@AmitBeraキャッシュをクリアするための簡単なコードを作成しました。コードは次のとおりです:justpaste.it/6rjvdおよびcron構成:snag.gy/AZowtf.jpg。まだcronが機能していません、私がしたことは正しいですか?
Gem

-1

Magento>キャッシュ管理>最後の3つのキャッシュオプション:

追加のキャッシュ管理フラッシュカタログ画像のフラッシュ事前生成された製品画像ファイルをキャッシュします。スウォッチ画像キャッシュのフラッシュ事前に生成された設定可能なスウォッチ画像ファイル。JavaScript / CSSキャッシュテーマのフラッシュJavaScriptファイルとCSSファイルを1つのファイルに結合します。

自動cronジョブを使用してこれらのキャッシュタイプをフラッシュすることは可能ですか?

理由:

これらのキャッシュを定期的にクリアしないと、REDISが失敗し、すべてがクラッシュします。

ありがとう:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.