QueueInstaller.php 850 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Amqp\Topology;
  7. use Magento\Framework\MessageQueue\Topology\Config\QueueConfigItemInterface;
  8. /**
  9. * Queue installer.
  10. */
  11. class QueueInstaller
  12. {
  13. use ArgumentProcessor;
  14. /**
  15. * Install queue.
  16. *
  17. * @param \PhpAmqpLib\Channel\AMQPChannel $channel
  18. * @param QueueConfigItemInterface $queue
  19. * @return void
  20. */
  21. public function install(\PhpAmqpLib\Channel\AMQPChannel $channel, QueueConfigItemInterface $queue)
  22. {
  23. $channel->queue_declare(
  24. $queue->getName(),
  25. false,
  26. $queue->isDurable(),
  27. false,
  28. $queue->isAutoDelete(),
  29. false,
  30. $this->processArguments($queue->getArguments())
  31. );
  32. }
  33. }