laravel-tool / kafka-queue
Laravel Kafka Queue 队列驱动程序,支持 Horizon
1.2.0
2024-04-22 10:42 UTC
Requires
- php: ^8.3
- ext-json: *
- ext-rdkafka: *
- laravel/framework: >=10
README
支持 Horizon 的 Laravel Kafka Queue 连接
安装
1. Composer
composer require laravel-tool/kafka-queue
2. 添加到 config/queue.php 配置文件
'kafka' => [ 'driver' => 'kafka', 'broker_list' => env('KAFKA_BROKER_LIST', 'kafka:9092'), 'auth' => [ 'enable' => env('KAFKA_AUTH_ENABLE', false), 'mechanism' => env('KAFKA_AUTH_MECHANISM', 'PLAIN'), 'username' => env('KAFKA_AUTH_USERNAME'), 'password' => env('KAFKA_AUTH_PASSWORD'), 'ssl_ca_location' => env('KAFKA_AUTH_SSL_CA_LOCATION'), ], 'queue' => env('KAFKA_QUEUE', 'default'), 'heartbeat_ms' => env('KAFKA_HEARTBEAT', 5000), 'group_name' => env('KAFKA_QUEUE_GROUP', 'default'), 'producer_timeout_ms' => 1000, 'consumer_timeout_ms' => 3000, 'queue_disable_length' => false, // Disable this if trouble with performance 'horizon' => true, // Support for Laravel Horizon 'after_commit' => false, ],
注意
由于 Kafka 的工作方式,不建议与延迟任务一起使用。当延迟任务到达执行时间时,它再次被放置在队列的末尾,依此类推,直到它被允许执行。