/** * Process event * @param \Magento\Framework\Event\Observer $observer * @return void */ public function process(\Magento\Framework\Event\Observer $observer) { if ($this->skip()) { return; } $body = $this->buildEventBody($observer->getEvent()); if ($body !== null) { $this->_client->postEvent($body); } }
/** * Execute command * * @param array $productIds * @return void */ public function execute($productIds = []) { $collection = $this->_productResource->getProducts($productIds, self::CHUNK_SIZE); $this->out('Preparing export of %d products to recommender system...', [$collection->getSize()]); $curPage = $collection->getCurPage(); while ($curPage <= $collection->getLastPageNumber()) { foreach ($collection as $product) { $this->_client->postEvent(new Event(Save::EVENT_SUBJECT, $this->_productBuilder->create($product))); } $this->out('%d of %d chunks exported...', [$curPage, $collection->getLastPageNumber()]); $collection->setCurPage(++$curPage); } $this->out('%d products exported to recommender', [$collection->getSize()]); }