![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework-message-queue/Config/Consumer/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\MessageQueue\Config\Consumer; use Magento\Framework\MessageQueue\ConfigInterface; use Magento\Framework\MessageQueue\Consumer\Config\CompositeReader as ConsumerConfigCompositeReader; /** * Plugin which provides access to consumers declared in queue config using consumer config interface. * * @deprecated 103.0.0 */ class ConfigReaderPlugin { /** * @var ConfigInterface */ private $config; /** * @param ConfigInterface $config */ public function __construct(ConfigInterface $config) { $this->config = $config; } /** * Read values from queue config and make them available via consumer config. * * @param ConsumerConfigCompositeReader $subject * @param array $result * @param string|null $scope * @return array * * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function afterRead(ConsumerConfigCompositeReader $subject, $result, $scope = null) { return array_merge($this->getConsumerConfigDataFromQueueConfig(), $result); } /** * Get data from queue config in format compatible with consumer config data internal structure. * * @return array */ private function getConsumerConfigDataFromQueueConfig() { $result = []; foreach ($this->config->getConsumers() as $consumerData) { $consumerName = $consumerData['name']; $handlers = []; foreach ($consumerData['handlers'] as $topicHandlers) { foreach ($topicHandlers as $handlerConfig) { $handlers[] = $handlerConfig; } } $result[$consumerName] = [ 'name' => $consumerName, 'queue' => $consumerData['queue'], 'consumerInstance' => $consumerData['instance_type'], 'handlers' => $handlers, 'connection' => $consumerData['connection'], 'maxMessages' => $consumerData['max_messages'], 'maxIdleTime' => null, 'sleep' => null, 'onlySpawnWhenMessageAvailable' => null ]; } return $result; } }