edfa3ly-backend/rabbitmq-bundle-consumer-generator

这是为 php-amqplib/rabbitmq-bundle 定制的扩展,用于动态生成消费者

1.0.3 2019-04-14 08:52 UTC

This package is auto-updated.

Last update: 2024-09-14 22:00:37 UTC


README

Software License Latest Stable Version Total Downloads

安装

通过 Composer

$ composer require edfa3ly-backend/rabbitmq-bundle-consumer-generator

描述

  • php-amqplib/rabbitmq-bundle 的扩展包,可以动态地在代码中生成消费者,将它们转换为 yaml 表示形式,并将它们写入指定的路径。

用法

  • GeneratorWrapper 注入您自己创建的服务中,并使用其方法
class ServiceExample
{  

    /** @var GeneratorWrapper $wrapper */
    protected $wrapper;
   
   /**
    * ServiceExample constructor.
    *
    * @param GeneratorWrapper $wrapper
    */
   public function __construct(
       GeneratorWrapper $wrapper
   ) {
       $this->wrapper         = $wrapper;
   }
   
   /**
    * @throws Exception
    */
   public function createConsumers()
   {
       $consumer = new ConsumerSkeleton() ;
       $consumer->setName('the name of your consumer');
       $consumer->setQueueRoutingKeys(['array of routing keys of your consumer']);
       $consumer->setExchangeType('fanout , direct , topic or headers');
       $consumer->setExchangeName('the name of your consumer's exchange');
       $consumer->setQueueName('Queue name');
       $consumer->setCallback('\path\to\your\consumer\callback::class');
       $consumer->setAmqpConsumerType('consumers or batch_consumers');
       
       $this->wrapper->writeConsumers( [$consumer], 'relative\path\to\your\consumers\yaml');
   }
}

控制台

现在您可以通过命令生成消费者,只需运行 php bin\console consumer:generate 并回答提示的问题。

安全性

如果您发现任何与安全性相关的问题,请通过电子邮件 omarfawzi96@gmail.com 反馈,而不是使用问题跟踪器。

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件