aloware / horizon-wildcard-consumer
扩展 Laravel Horizon,提供动态匹配通配符的队列监听功能。
v1.2.6
2022-03-12 10:47 UTC
Requires
- php: ^7.1
- ext-json: *
- ext-pcntl: *
- illuminate/console: ^5.7|^6.0
- illuminate/database: ^5.7|^5.8|^6.0
- illuminate/queue: ^5.7|^6.0
- illuminate/support: ^5.7|^6.0
- laravel/horizon: ^2.0|^3.0
- vladimir-yuldashev/laravel-queue-rabbitmq: ^8.0|^9.0|^10.0
Requires (Dev)
- aloware/shift-php-cs: dev-master
- mockery/mockery: ^1.0
- orchestra/testbench: 3.7.*|^4.3
- phpunit/phpunit: ^7.5|^8.4
Suggests
- ext-pcntl: Required by Laravel Horizon.
README
此包允许您通过在 Horizon 配置文件中将队列名称中的通配符 *
用于动态添加队列进行监听。
安装
您可以通过以下命令使用 composer 安装此包
composer require aloware/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