/**
  * 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);
     }
 }
Example #2
0
 /**
  * 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()]);
 }