Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Data Structures | Public Member Functions
Consumer Class Reference
Inheritance diagram for Consumer:
ConsumerInterface Consumer

Data Structures

class  ConfigTest
 
class  DeprecatedConfigTest
 

Public Member Functions

 __construct (CallbackInvoker $invoker, MessageEncoder $messageEncoder, ResourceConnection $resource, ConsumerConfigurationInterface $configuration, LoggerInterface $logger=null)
 
 process ($maxNumberOfMessages=null)
 

Detailed Description

Class Consumer used to process a single message, unlike batch consumer.

This could be used for both synchronous and asynchronous processing, depending on topic.

@SuppressWarnings(PHPMD.CouplingBetweenObjects)

Definition at line 23 of file Consumer.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( CallbackInvoker  $invoker,
MessageEncoder  $messageEncoder,
ResourceConnection  $resource,
ConsumerConfigurationInterface  $configuration,
LoggerInterface  $logger = null 
)

Initialize dependencies.

Parameters
CallbackInvoker$invoker
MessageEncoder$messageEncoder
ResourceConnection$resource
ConsumerConfigurationInterface$configuration
LoggerInterface$logger@SuppressWarnings(PHPMD.UnusedFormalParameter)

Definition at line 91 of file Consumer.php.

97  {
98  $this->invoker = $invoker;
99  $this->messageEncoder = $messageEncoder;
100  $this->resource = $resource;
101  $this->configuration = $configuration;
102  $this->logger = $logger ?: \Magento\Framework\App\ObjectManager::getInstance()->get(LoggerInterface::class);
103  }

Member Function Documentation

◆ process()

process (   $maxNumberOfMessages = null)

{Connects to a queue, consumes a message on the queue, and invoke a method to process the message contents.

Parameters
int | null$maxNumberOfMessagesif not specified - process all queued incoming messages and terminate, otherwise terminate execution after processing the specified number of messages
Returns
void
}

Implements ConsumerInterface.

Definition at line 108 of file Consumer.php.

109  {
110  $queue = $this->configuration->getQueue();
111 
112  if (!isset($maxNumberOfMessages)) {
113  $queue->subscribe($this->getTransactionCallback($queue));
114  } else {
115  $this->invoker->invoke($queue, $maxNumberOfMessages, $this->getTransactionCallback($queue));
116  }
117  }
$queue
Definition: queue.php:21

The documentation for this class was generated from the following file: