0

Magento 1.7.0.2で最大400k の製品をインポートすると、大きな問題が発生します。カスタム インターフェイスが原因で、製品が作成されるカスタム製品インポートを作成し、アップセルング/クロスセリングが保存されます。

擬似:

do {
  if( $_product = Mage::getModel(catalog/product)->loadByAttribute('sku', $sku)){
     return $_product;
  }else{
     $product = $this->createProduct();
     $product->save();
  }
}while(!$end_of_import);

処理された各製品 (読み込み/保存...) には、最大 180kb のメモリが必要です。問題: メモリが解放されない! そのため、インポートされた製品が 50k ~ 60k になると、10 GB の許容メモリ サイズが使い果たされます。

ここまたはここに投稿されたさまざまなソリューションを試しましたが、効果はありませんでした。

4

3 に答える 3

3

インデックスはどうですか?バックエンド インターフェイスでは、インデックス作成はデフォルトで「保存時に更新」に設定されています。多くの製品を反復処理して、説明したように保存すると、保存するたびに再インデックス処理が開始されます。モードを「手動」(システム/インデックス管理) に変更してから、インポートを実行してください。

于 2013-01-31T16:04:52.233 に答える
2

保存後に$product->clearInstance()を呼び出すと、製品自体だけでなく、それに接続されている他のすべてのものも削除されます。

于 2013-01-31T17:27:39.963 に答える
0

unsetを使用してみましたか? $_product$product? _

于 2013-01-31T12:21:29.313 に答える