edfa3ly-backend / rabbitmq-bundle-consumer-generator
这是为 php-amqplib/rabbitmq-bundle 定制的扩展,用于动态生成消费者
1.0.3
2019-04-14 08:52 UTC
Requires
- illuminate/support: *
- php-amqplib/php-amqplib: ^2.6
- php-amqplib/rabbitmq-bundle: ^1.14
- symfony/console: 4.2.*
- symfony/dependency-injection: 4.2.*
- symfony/framework-bundle: 4.2.*
- symfony/http-kernel: 4.2.*
- symfony/phpunit-bridge: ^4.2
- symfony/yaml: 4.2.*
This package is auto-updated.
Last update: 2024-09-14 22:00:37 UTC
README
安装
通过 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)。有关更多信息,请参阅 许可证文件。