ngorder / q
为Laravel提供简单的php-amqplib包装器
v1.3.5
2022-01-14 04:11 UTC
Requires
- php: ^7.4|^8.0
- illuminate/support: ^8.0
- php-amqplib/php-amqplib: >=3.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-14 09:42:55 UTC
README
为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)。有关更多信息,请参阅许可文件。