回答:
以前、カタログの価格ルールのインデックス再作成で多くの問題がありました。
私の最新の解決策(これは機能するように縫い合わせています)は、カタログルールの再インデックス付けのためのcronが実行される時間を変更することでした。
これが理由です。
GMT + 2のタイムゾーンを使用しています。
デフォルトのcronは1.00で実行するように設定されています。
そこで、cronがいつ開始し、いつ終了するかを確認するためにログを記録しました。
私が驚いたのは、次のことです。
2014-06-06T23:00:02+00:00 DEBUG (7): Start daily update
2014-06-06T23:00:05+00:00 DEBUG (7): End daily update
したがって、ログに記録された時間はGMT時間(23.00)でした。
そしてcronは、次のように再インデックスを実行する日付を計算します。
$fromDate = mktime(0,0,0,date('m'),date('d')-1);
したがって、内部の日付メソッドは使用しませんdate
が、タイムゾーンの設定に関係している可能性があると直接思いました。
そこで、自分のタイムゾーンとGMTタイムゾーンが同じ日になっているときに、cronを1時間で実行するようにしました。
2:10に移動しました。
それ以来、何の問題もありませんでした。
app/code/core/Mage/CatalogRule/etc/config.xml
は、次の行を探します<cron_expr>0 1 * * *</cron_expr>
構成のタイムゾーンをGMTに変更します。ここでカタログルールを適用します。
必要に応じて、タイムゾーンを目的の選択に戻します。同じルールを使用するファッションストアwww.huzoorwomen.comがあります。
私にもこの問題がありました。この問題は、ローカルタイムゾーンのオフセットが+01:00より大きい場合に発生します。
基本的には、magentoがルール日付にgmtTimestampを使用しているため、上記のケースでは今日の前日になります。
そのため、問題を修正するための小さなモジュールhttps://github.com/Chuvisco88/Chuvisco_CatalogRuleFixを開発しました。誰かがこの問題を抱えている場合は、試してみてください。