slickdeals/gearman-messenger

Symfony Gearman Messenger 桥接器

v1.1.1 2022-06-15 22:19 UTC

This package is auto-updated.

Last update: 2024-09-01 14:58:32 UTC


README

为 Symfony Messenger 提供 Gearman 集成。

Build gearman-messenger

安装

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
                        # ...