slickdeals / gearman-messenger
Symfony Gearman Messenger 桥接器
v1.1.1
2022-06-15 22:19 UTC
Requires
- php: >=7.2.5
- ext-gearman: >=2.0
- ext-json: *
- symfony/messenger: ^5.1|^6.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.8
- phpunit/phpunit: ^9.5
- symfony/serializer: ^4.4|^5.0|^6.0
- vimeo/psalm: ^4.6
This package is auto-updated.
Last update: 2024-09-01 14:58:32 UTC
README
为 Symfony Messenger 提供 Gearman 集成。
安装
composer require slickdeals/gearman-messenger
用法
您需要添加一个服务来创建传输工厂。
# config/services.yaml services: SD\Gearman\Transport\GearmanTransportFactory: tags: [ messenger.transport_factory ]
要配置传输,您需要提供一个包含主机、端口和作业名称的数据服务名称(DSN)。您可以指定多个作业名称,以便传输从多个 Gearman 作业队列中提取工作。消息在 Messenger 中的路由仍然基于解码的工作负载。
framework: messenger: transports: gearman: # DSN will use defaults dsn: "gearman://" # dsn: 'gearman://<host>:<port>?job_names[]=<job1>&timeout=100'
这允许您使用单个传输支持所有消息,但它不会阻止您设置多个传输,每个传输处理自己的消息集。
指定多个主机
您还可以传递一个包含主机:端口字符串的数组选项,以连接到多个 Gearman 作业服务器。保持 DSN 简单,因为 DSN 会覆盖选项。
framework: messenger: transports: gearman: dsn: "gearman://" options: hosts: - gearman1:4730 - gearman2:4730 # ...