aplr/kafkaesk

Laravel Kafka 队列驱动

v1.0.3 2020-05-15 16:52 UTC

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 的分支。

Packagist Version GitHub Workflow Status PHP from Packagist GitHub license

安装

要安装 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) 许可。