0

导入约 400k 产品时,我在Magento 1.7.0.2中遇到了一个大问题。由于自定义界面,我创建了一个自定义产品导入,其中产品被创建,追加销售/交叉销售被保存。

伪:

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 的进口产品之后,允许的 10gb 内存大小已用完。

我尝试了此处此处发布的不同解决方案,但没有效果。

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