У меня есть задание cron, где мне нужно получить все простые продукты.Это работает очень хорошо, когда я запускаю скрипт вручную, но когда Cron запускает его, он не может получить продукты.
Я пытался выяснить, что именно идет не так, но не похоже, что какие-либо ошибки, связанные с этим, регистрируются.
Я предполагаю, что это может быть связанос запуском задания cron вручную из админпанели устанавливается хранилище или что-то в этом роде.Я также попытался установить это вручную в самом задании cron.
Я также проверил, могу ли я получить один продукт, используя обычный Mage::getModel('catalog/product')->load($productId)
, который работал нормально.
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
try{
$i = 0;
$productCollection = Mage::getResourceModel('catalog/product_collection')
->addStoreFilter(0)
->addAttributeToSelect('entity_id')
->addAttributeToSelect('parent_sku')
->addAttributeToSelect('qty')
->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED)
->addAttributeToFilter('type_id', array('eq' => 'simple'));
Mage::log($productCollection->getSelect()->__toString(), null, 'cronlog.log');
foreach ($productCollection as $product) {
$this->updateStock($product);
}
} catch (Exception $e){
Mage::logException("Exception with aggregating stock");
throw new Exception($e->getMessage());
}
Mage::app()->cleanCache('catalog_product_view');