aplr / kafkaesk
Laravel Kafka 队列驱动
Requires
- php: >=7.2.0
- ext-rdkafka: *
- graham-campbell/manager: ^4.5
- illuminate/console: ^6.0|^7.0|^8.0
- illuminate/contracts: ^6.0|^7.0|^8.0
- illuminate/database: ^6.0|^7.0|^8.0
- illuminate/queue: ^6.0|^7.0|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
Requires (Dev)
- graham-campbell/analyzer: ^3.0
- graham-campbell/testbench: ^5.4
- hamcrest/hamcrest-php: ^2.0
- kwn/php-rdkafka-stubs: ^2.0
- mockery/mockery: ^1.3
- phpro/grumphp: ^0.18
- phpunit/phpunit: ^9.0
- squizlabs/php_codesniffer: ^3.5
This package is auto-updated.
Last update: 2024-09-05 10:15:41 UTC
README
Kafkaesk 为 Laravel 队列添加了对 Apache Kafka 的支持。它基于 rdkafka php 扩展,您需要单独安装。此外,您还需要事先安装 C/C++ 客户端库 librdkafka。之后,您就可以自由地向您喜欢的 Kafka 队列推送作业了!
Kafkaesk 支持 PHP 7.2-7.4,并要求 Laravel 6-7。如果您仍需要支持 Laravel 5,请使用 rapideinternet/laravel-queue-kafka,这是 Kafkaesk 的分支。
安装
要安装 aplr/kafkaesk
的最新版本,只需使用 composer 进行需求。
composer require aplr/kafkaesk
此包使用 Laravel 的包自动发现功能,因此不需要您手动添加 ServiceProvider。如果您已禁用此功能,请在 config/app.php 中的 providers 数组中添加 ServiceProvider
Aplr\Kafkaesk\ServiceProvider::class,
要求
确保您已安装 C/C++ 客户端库 librdkafka。如果您正在运行 macOS,可以简单地使用 Homebrew 来安装它。
brew install librdkafka
另外,您还需要安装 php 扩展 rdkafka。您可以通过手动方式或简单地使用 pecl 来完成。
pecl install rdkafka
如果两个安装都成功,您就设置好了!
配置
默认配置设置在 config/kafkaesk.php
中。将此文件的 contents 合并到您本地 config/queue.php
中的 connections
数组中。您可以使用以下命令完成此操作。
php artisan vendor:publish --provider="Aplr\Kafkaesk\ServiceProvider"
环境变量
当使用默认配置时,您还可以使用以下描述的环境变量来配置队列驱动程序。
使用
由于 Kafkaesk 只是 Laravel 队列 的驱动程序,请参阅其详尽的文档。
限制
目前,使用 Laravel 队列的 later
函数在队列上延迟作业尚未由此库支持。您可以自由地通过创建 PR 来添加支持!
致谢
此库是过时的 rapideinternet/laravel-queue-kafka 的分支,增加了对 Laravel 6-7 的支持,修复了测试并对其进行了一些改进。
许可证
Kafkaesk 根据 The MIT Licence (MIT) 许可。