6phere / horizon-wildcard-consumer
扩展Laravel Horizon,可动态监听匹配通配符的队列。
v1.0.0
2024-08-20 13:45 UTC
Requires
- php: *
- ext-json: *
- ext-pcntl: *
- illuminate/console: *
- illuminate/database: *
- illuminate/queue: *
- illuminate/support: *
- laravel/horizon: *
- vladimir-yuldashev/laravel-queue-rabbitmq: *
Requires (Dev)
Suggests
- ext-pcntl: Required by Laravel Horizon.
README
此包允许您通过在Horizon配置文件中设置队列名称包含通配符*
来监听动态添加的队列。
安装
您可以使用以下命令通过composer安装此包
composer require 6phere/horizon-wildcard-consumer
用法
此包提供了一个命令来消费动态添加的队列
php artisan horizon:wildcard-consume
在运行此命令之前,请确保您已在Horizon
配置文件中将通配符添加到您的supervisor中。如果没有配置通配符,此命令与标准php artisan horizon
命令的作用相同。
示例horizon配置
config/horizon.php
环境部分(请注意队列名称中的*
)
connection
可以设置为rabbitmq
'environments' => [ 'production' => [ 'supervisor-1' => [ 'connection' => 'redis', 'queue' => ['default', 'user_*_notes', '*-bills'], 'balance' => 'auto', 'processes' => 10, 'tries' => 3, ], 'supervisor-2' => [ 'connection' => 'redis', 'queue' => ['agent_*_calls', 'company_*_messages'], 'balance' => 'auto', 'processes' => 5, 'tries' => 3, ] ] ]
RabbitMQ配置示例
将RabbitMQ连接配置添加到config/queue.php
中。您可以从维护者仓库中获取示例配置:https://github.com/vyuldashev/laravel-queue-rabbitmq/tree/v8.0
Redis的.env示例
QUEUE_CONNECTION=redis QUEUE_OBSERVER_TIMEOUT=25
RabbitMQ的.env示例
QUEUE_CONNECTION=rabbitmq QUEUE_OBSERVER_TIMEOUT=25 RABBITMQ_WORKER=horizon RABBITMQ_API_URL=https://:15672 RABBITMQ_HOST=rabbitmq RABBITMQ_PORT=5672 RABBITMQ_LOGIN=admin RABBITMQ_PASSWORD=admin RABBITMQ_SSL=0 RABBITMQ_QUEUE=default RABBITMQ_VHOST=/
有关更多信息,请参阅https://github.com/vyuldashev/laravel-queue-rabbitmq/tree/v8.0