retailcrm/symfony-beanstalkd-messenger 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

retailcrm/symfony-beanstalkd-messenger

最新稳定版本:v2.0.0

Composer 安装命令:

composer require retailcrm/symfony-beanstalkd-messenger

包简介

Symfony Beanstalkd Messenger Bridge

README 文档

README

Build Status Coverage Latest stable PHP from Packagist

Symfony beanstalkd messenger

Beanstalkd transport for symfony messenger

Installation

composer require retailcrm/symfony-beanstalkd-messenger

Usage

  • in the .env config 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

GitHub 信息

  • Stars: 1
  • Watchers: 5
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-02-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固