tbcd/multi-dynamic-messenger
最新稳定版本:2.0.0
Composer 安装命令:
composer require tbcd/multi-dynamic-messenger
包简介
README 文档
README
This package is an extension of symfony/messenger component providing transport that be modified during runtime without having the restart consumers
Installation
composer require tbcd/multi-dynamic-messenger
Usage
First you have to implements a service providing the transports data. This service as to implements TransportDataProviderInterface interface
In the example below we provide transports data stored with database entities
# src\Messenger\EntityTransportDataProvider.php
class EntityTransportDataProvider implements TransportDataProviderInterface
{
public function getAll(): array
{
$entities = $this->em->getRepository(TransportEntity::class)->findAll();
return array_map(function(TransportEntity $entity) {
return new TransportData($entity->getName(), $entity->getDsn(), $entity->getOptions());
}, $entities);
}
}
Then you have to configure the transport factory :
- Add the tag messenger.transport_factory to the transport factory
- Bind your TransportDataProvider
# config/services.yaml
services:
...
TBCD\Messenger\MultiDynamicTransport\MultiDynamicTransportFactory:
tags: [ messenger.transport_factory ]
binds:
$transportDataProvider: App\Messenger\EntityTransportDataProvider
Then you have to create the messenger transport
# config/packages/messenger.yaml
framework:
messenger:
transports:
# https://symfony.com/doc/current/messenger.html#transport-configuration
multidynamic:
dsn: 'multi-dynamic://'
Finally, start the consumer with the command php bin/console messenger:consume mytransportname
统计信息
- 总下载量: 18
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-04-05