2016-04-22 63 views
1

我想通過cron運行我的數據流導入配置文件,而無需在Cron.php或crontab文件中進行操作。當我手動啓動時,我的個人資料正在工作。 此適配器從csv文件導入有關產品的數據。 我試圖運行此配置文件:cron自動激活數據流配置文件

$profile->load($profileId); 
$profile->run(); 

但我有cron的動作後沒有效果。運行方法無法正常工作。 文件位於正確的位置。配置文件的ID是正確的,配置文件已加載。

回答

0

我找到答案。如果要運行導入配置文件,則應在$profile->run();之後使用此代碼:

 $batchModel = Mage::getSingleton('dataflow/batch'); 
     $batchImportModel = $batchModel->getBatchImportModel(); 
     $adapter = $batchModel->getAdapter(); 
     $importIds = $batchImportModel->getIdCollection(); 

     foreach ($importIds as $importId) { 
      $batchImportModel->load($importId); 
      try { 
       $importData = $batchImportModel->getBatchData(); 
       Mage::getModel($adapter)->saveRow($importData); 
      } catch (Exception $e) { 
       Mage::log("Exception : " . $e); 
       continue; 
      } 
     } 

     if (method_exists($adapter, 'getEventPrefix')) { 

      // Event to process rules relationships after import 
      Mage::dispatchEvent($adapter->getEventPrefix() . '_finish_before', array(
       'adapter' => $adapter 
      )); 

      // Clear affected ids for possible reuse 
      $adapter->clearAffectedEntityIds(); 

     }