private function immediatelyChangedProducts() { $this->_profiler->addTimePoint(__METHOD__, 'Immediately when product was changed'); // Get changed listings products //------------------------------------ $changedListingsProducts = $this->getChangedInstances(array(Ess_M2ePro_Model_ProductChange::UPDATE_ATTRIBUTE_CODE)); //------------------------------------ // Filter only needed listings products //------------------------------------ /** @var $listingProduct Ess_M2ePro_Model_Listing_Product */ foreach ($changedListingsProducts as $listingProduct) { if (!$this->_productInspector->isMeetStopRequirements($listingProduct)) { continue; } $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Connector_Play_Product_Dispatcher::ACTION_STOP, array()); } //------------------------------------ $this->_profiler->saveTimePoint(__METHOD__); }
private function executePriceChanged() { $this->_profiler->addTimePoint(__METHOD__, 'Update price'); // Get changed listings products //------------------------------------ $changedListingsProducts = $this->getChangedInstances(array(Ess_M2ePro_Model_ProductChange::UPDATE_ATTRIBUTE_CODE)); //------------------------------------ // Filter only needed listings products //------------------------------------ /** @var $listingProduct Ess_M2ePro_Model_Listing_Product */ foreach ($changedListingsProducts as $listingProduct) { $this->_productInspector->inspectRevisePriceRequirements($listingProduct); } //------------------------------------ $this->_profiler->saveTimePoint(__METHOD__); }
private function immediatelyNotCheckedProducts() { $this->_profiler->addTimePoint(__METHOD__, 'Immediately when product was not checked'); /** @var $collection Varien_Data_Collection_Db */ $collection = Mage::helper('M2ePro/Component_Play')->getCollection('Listing_Product'); $collection->addFieldToFilter('tried_to_list', 0); $collection->getSelect()->where('`is_variation_product` = ' . Ess_M2ePro_Model_Play_Listing_Product::IS_VARIATION_PRODUCT_NO . ' OR (' . '`is_variation_product` = ' . Ess_M2ePro_Model_Play_Listing_Product::IS_VARIATION_PRODUCT_YES . ' AND `is_variation_matched` = ' . Ess_M2ePro_Model_Play_Listing_Product::IS_VARIATION_MATCHED_YES . ')'); $collection->getSelect()->limit(100); $listingsProducts = $collection->getItems(); foreach ($listingsProducts as $listingProduct) { /** @var $listingProduct Ess_M2ePro_Model_Listing_Product */ $listingProduct->setData('tried_to_list', 1)->save(); if (!$this->_productInspector->isMeetListRequirements($listingProduct)) { continue; } $this->_runnerActions->setProduct($listingProduct, Ess_M2ePro_Model_Connector_Server_Play_Product_Dispatcher::ACTION_LIST, array()); } $this->_profiler->saveTimePoint(__METHOD__); }