![]() 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/cartforge.co/app/code/Webkul/PrivateShop/Model/Queue/ |
<?php /** * Webkul Software * * @category Webkul * @package Webkul_PrivateShop * @author Webkul Software Private Limited * @copyright Webkul Software Private Limited (https://webkul.com) * @license https://store.webkul.com/license.html */ namespace Webkul\PrivateShop\Model\Queue; use Webkul\PrivateShop\Api\Data\EnvelopeInterfaceFactory; use Webkul\PrivateShop\Api\Config\ConfigInterface as QueueConfig; use Webkul\PrivateShop\Api\Queue\EncoderInterface; class Publisher implements \Webkul\PrivateShop\Api\Queue\PublisherInterface { /** * @var EnvelopeInterfaceFactory */ private $messageEnvelopeFactory; /** * @var EncoderInterface */ private $messageEncoder; /** * @var QueueConfig */ private $queueConfig; /** * @param EnvelopeInterfaceFactory $messageEnvelopeFactory * @param EncoderInterface $messageEncoder * @param QueueConfig $queueConfig */ public function __construct( EnvelopeInterfaceFactory $messageEnvelopeFactory, EncoderInterface $messageEncoder, QueueConfig $queueConfig ) { $this->messageEnvelopeFactory = $messageEnvelopeFactory; $this->messageEncoder = $messageEncoder; $this->queueConfig = $queueConfig; } /** * @inheritdoc */ public function publish($queueName, $messageContent) { $envelope = $this->messageEnvelopeFactory->create() ->setContentType($this->messageEncoder->getContentType()) ->setContent( $this->messageEncoder->encode($queueName, $messageContent) ); $this->queueConfig->getQueueBrokerInstance($queueName) ->enqueue($envelope); } }