У меня есть скрипт для цены обновления и QTY, но на реальном сервере требуется слишком много времени. Я пытаюсь выполнить скрипт на 4-5 часов, но не смог завершить процесс. Я также протестировал скрипт на своем локальном хостинге, для обновления 1400 продуктов требуется около 1 часа и 30 минут.Magento: цена обновления и QTY по цене sku
Пожалуйста, проверьте мой нижеприведенный сценарий и предложите мне идею, чтобы я мог сократить время для местных и жить как.
<?php
require_once 'app/Mage.php';
$app = Mage::app('default');
ini_set('max_execution_time', 0);
$currentStore = Mage::app()->getStore()->getId();
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
umask(0);
$path = ''.$_SERVER['DOCUMENT_ROOT'].'/product_stock_price.csv';
$readfile = file ($path);
$j=0;$k=0;
for ($i=1; $i < count($readfile); $i++) {
$fields = split('"',$readfile[$i]);
$sku=split(',',$fields[0]);
$arr=array('sku'=>$sku[0],'stock'=>$fields[1],'price'=>$fields[3]);
//print_r($arr);
$sku= $arr['sku'];
//print_r($sku);die;
$product = Mage::getModel('catalog/product')->setStoreId(1)->loadByAttribute('sku',$sku);
if ($product)
{
//echo $product->getPrice();
$product->setWebsiteId(1);
$product->setStoreId(1);
$product->setPrice($fields[3]);
$product->save();
$productId = $product->getId();
$stockItem =Mage::getModel('cataloginventory/stock_item')->loadByProduct($productId);
$stockItemId = $stockItem->getId();
$stockItem->setData('manage_stock', 1);
$stockItem->setData('qty', $fields[1]);
$stockItem->save();
// echo $SKU," Updated: Name: '",(string)$XMLproduct->Name,"', Price: ",$fields[3],", Stock level: ",$fields[1];
$updated++;
$j+=1;
}
else
{
$k+=1;
echo $sku." product not found.</br>";
}
}
echo "Total Row : ".count($readfile)." Proceed row : ".$i." Inserted Row : ".$j." Not Found : ".$k;
?>
Пожалуйста, дайте мне некоторое решение.
Благодаря Jalpesh
Просто установите 'max_execution_time' равным 0 без ограничений. Установка его на 18 триллионов секунд немного глупо. – Anthony
попробуйте magmi, это супер быстро – OSdave
спасибо @ Энтони меняет 'max_execution_time'. – Jalpesh