Beispiel #1
0
 /**
  * @return $this
  */
 protected function _prepareCollection()
 {
     /** @var $collection \Magento\Newsletter\Model\ResourceModel\Queue\Collection */
     $collection = $this->_collectionFactory->create()->addTemplateInfo()->addSubscriberFilter($this->_coreRegistry->registry('subscriber')->getId());
     $this->setCollection($collection);
     return parent::_prepareCollection();
 }
 /**
  * Return queue collection with loaded neversent queues
  *
  * @return Collection
  */
 public function getQueueCollection()
 {
     if ($this->_queueCollection === null) {
         /** @var $this->_queueCollection \Magento\Newsletter\Model\ResourceModel\Queue\Collection */
         $this->_queueCollection = $this->_collectionFactory->create()->addTemplateInfo()->addOnlyUnsentFilter()->load();
     }
     return $this->_queueCollection;
 }
Beispiel #3
0
 /**
  * Scheduled send handler
  *
  * @return void
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function scheduledSend()
 {
     $countOfQueue = 3;
     $countOfSubscriptions = 20;
     /** @var \Magento\Newsletter\Model\ResourceModel\Queue\Collection $collection */
     $collection = $this->_queueCollectionFactory->create();
     $collection->setPageSize($countOfQueue)->setCurPage(1)->addOnlyForSendingFilter()->load();
     $collection->walk('sendPerSubscriber', [$countOfSubscriptions]);
 }