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

Public Member Functions

 __construct (CallbackInvoker $invoker, ResourceConnection $resource, MessageController $messageController, ConsumerConfigurationInterface $configuration, OperationProcessorFactory $operationProcessorFactory, LoggerInterface $logger)
 
 process ($maxNumberOfMessages=null)
 

Detailed Description

Class Consumer used to process OperationInterface messages.

@SuppressWarnings(PHPMD.CouplingBetweenObjects)

Definition at line 29 of file MassConsumer.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( CallbackInvoker  $invoker,
ResourceConnection  $resource,
MessageController  $messageController,
ConsumerConfigurationInterface  $configuration,
OperationProcessorFactory  $operationProcessorFactory,
LoggerInterface  $logger 
)

Initialize dependencies.

Parameters
CallbackInvoker$invoker
ResourceConnection$resource
MessageController$messageController
ConsumerConfigurationInterface$configuration
OperationProcessorFactory$operationProcessorFactory
LoggerInterface$logger

Definition at line 71 of file MassConsumer.php.

78  {
79  $this->invoker = $invoker;
80  $this->resource = $resource;
81  $this->messageController = $messageController;
82  $this->configuration = $configuration;
83  $this->operationProcessor = $operationProcessorFactory->create([
84  'configuration' => $configuration
85  ]);
86  $this->logger = $logger;
87  }

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 92 of file MassConsumer.php.

93  {
94  $queue = $this->configuration->getQueue();
95 
96  if (!isset($maxNumberOfMessages)) {
97  $queue->subscribe($this->getTransactionCallback($queue));
98  } else {
99  $this->invoker->invoke($queue, $maxNumberOfMessages, $this->getTransactionCallback($queue));
100  }
101  }
$queue
Definition: queue.php:21

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