retailcrm/symfony-beanstalkd-messenger
最新稳定版本:v2.0.0
Composer 安装命令:
composer require retailcrm/symfony-beanstalkd-messenger
包简介
Symfony Beanstalkd Messenger Bridge
README 文档
README
Symfony beanstalkd messenger
Beanstalkd transport for symfony messenger
Installation
composer require retailcrm/symfony-beanstalkd-messenger
Usage
- in the
.envconfig file add the connection credentials:
MESSENGER_TRANSPORT_DSN=beanstalkd://localhost:11300
-
create your messages and message handlers (about messages)
-
configure messenger in
config/packages/messenger.yml, for example:
framework: messenger: transports: async: dsn: "%env(MESSENGER_TRANSPORT_DSN)%" options: queue_name: async routing: 'App\Message\MyMessage': async
- add transport factory in
config/services.yml
services: # ... RetailCrm\Messenger\Beanstalkd\Transport\BeanstalkTransportFactory: tags: [messenger.transport_factory]
Allowed transport options
-
tube_name- tube name in beanstalkd -
timeout- timeout for receiving jobs from tube. Default - 0 -
ttr- ttr value for jobs. Default - 60 -
not_send_if_exists- do not send a job to the queue only if such a job is already exist. Default -false
All options are optional, if tube_name not specified will be used default queue default.
The not_send_if_exists option will only work if lock storage is specified. To do this, you need to customize the BeanstalkTransportFactory by adding a call to the setLockStorage method
class MyBeanstalkTransportFactory extends BeanstalkTransportFactory //... public function createTransport(string $dsn, array $options, SerializerInterface $serializer): TransportInterface { return new BeanstalkTransport( Connection::fromDsn($dsn, $options)->setLockStorage($this->lockStorage), $serializer ); } //...
and add your custom transport factory in config/services.yml
services: # ... App\Messenger\Custom\MyBeanstalkTransportFactory: tags: [messenger.transport_factory]
Your lock storage class must implement RetailCrm\Messenger\Beanstalkd\Storage\LockStorageInterface.
统计信息
- 总下载量: 4.53k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-02-04