【问题标题】:Getting a product collection via Cron通过 Cron 获取产品集合
【发布时间】:2018-12-05 08:37:40
【问题描述】:

我设置了一个 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');

【问题讨论】:

    标签: magento cron magento-1.7


    【解决方案1】:

    我设法找到了问题的原因。似乎当 cron 自动运行时,脚本内存不足。

    我在脚本顶部添加了ini_set('memory_limit','800M');,这解决了我的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2023-04-11
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-09
      相关资源
      最近更新 更多