ngorder/q

为Laravel提供简单的php-amqplib包装器

v1.3.5 2022-01-14 04:11 UTC

This package is auto-updated.

Last update: 2024-09-14 09:42:55 UTC


README

Latest Version on Packagist Total Downloads

为php-amqplib/php-amqplib提供简单的Laravel包装器

安装

运行composer

composer require ngorder/q

使用Artisan命令发布配置文件和服务提供者

php artisan q:install

将生成两个文件,一个位于config/q.php的配置文件,另一个位于app/Providers/QServiceProvider.php的服务提供者

用法

首先,确保更新配置文件。

发布消息

Message外观提供发布消息的功能,您可以通过调用需要两个参数的方法来发布消息:路由键和您要发送的消息,它可以是数组或字符串。

\Ngorder\Q\Facades\NgorderQ::publish('test.route', [
            'message' => 'Hello World'
 ]);

publish方法将从app/q.php中获取配置信息,以创建一个不存在时才创建的交换机和队列。

延迟消息

\Ngorder\Q\Facades\NgorderQ::delay(2)->publish('test.route', [
            'message' => 'Hello World'
 ]);

在消息被消费者消费之前,延迟消息(以分钟为单位)。

路由

您可以在QServiceProvider中附加一个方法来处理特定的路由键。

    protected $routing = [
        'hello.*' => [MyConsumer::class, 'handleWildcard'],
        'test.key' => [AnotherConsumer::class, 'handleIt'],
        'another.key' => [
            [MultiConsumer::class, 'fun1'],
            [MultiConsumer::class, 'fun2']                        
        ]         
    ];

或一个可调用的类

    protected $routing = [
        'some.key' => ThisIsInvokable::class,
    ];

消费

要运行消费者,首先确保路由键已在QServiceProvider中注册。之后,您可以运行此命令

php artisan q:consume my.routing.key

可用选项

--tries=3

当消息无法消费时,最大尝试次数。

--max-memory=128

最大内存使用。

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

许可

MIT许可(MIT)。有关更多信息,请参阅许可文件