2012-02-06 13 views
2

私はmagentoストア用のスクリプトを作成しました。その目的は、.txtファイルを作成してGoogle Merchant Centerから読み込むことです。大きなスクリプトを小さなバッチに分割する

このスクリプトは正しく機能しますが、MagentoストアはPHPインスタンスあたり256MBしか使用できない奇妙なホストでホストされます。これを変更することはできませんので、私が見ることができる唯一の解決策は、数分ごとにcronジョブとして実行する、一度にいくつかの製品を処理するようにスクリプトを壊すことです。

私はこれを行う効率的な方法を考えるのに苦労しています。私は選択した製品の数を制限することができますが、次にスクリプトが実行されると、.txtに何が追加されたのか分からないのか分かりません。

ありがとうございました。

+1

なぜtxtファイルの行数をカウントしてオフセットとして使用するのではないですか? –

答えて

0

単純な "チェックボックス"列を製品表に追加するか、製品IDとタイムスタンプという2つの列だけの余分な表を追加することができます。 次に、タイムスタンプを使用して、フェッチされた行の順序を決め、制限することができます。

select productId, lastProcessed from productProcess order by lastProcessed asc limit 0,<whatever your limit> 

各行を処理するときに、lastProcessed列をNOW()で更新できます。 製品を継続的に処理したくない場合は、チェックボックスの列を使用して処理した時点をマークし、特定の時点ですべての「チェックボックス」をクリアするだけです。

これは処理時間を増やしますが、この方法では、すでに処理した製品を知ることができます。

これはいくつかのバリエーションですが、これに基づいて他のソリューションを考え出すことができます。

関連する問題