trueifnotfalse / lumen-kafka by trueifnotfalse

Kafka driver for Lumen Queue.
389
0
1
Package Data
Maintainer Username: trueifnotfalse
Package Create Date: 2022-04-04
Package Last Update: 2022-04-04
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-12 03:14:55
Package Statistics
Total Downloads: 389
Monthly Downloads: 105
Daily Downloads: 0
Total Stars: 0
Total Watchers: 1
Total Forks: 0
Total Open Issues: 0

Lumen Kafka

Installation

Install the package via composer

composer require trueifnotfalse/lumen-kafka

Then you should register the service provider in bootstrap/app.php

$app->register(TrueIfNotFalse\LumenKafka\Providers\KafkaServiceProvider::class);

Configuration

Add to config/queue.php:

...
    'monitoring' => [
        'driver' => 'kafka',
        'brokers' => env('KAFKA_BROKERS', 'localhost'),
        'topics' => ['monitoring'],
        'group_id' => env('KAFKA_GROUP_ID', 'group'),
        'security_protocol' => env('KAFKA_SECURITY_PROTOCOL', 'PLAINTEXT'),
        'sasl' => [
            'username' => env('KAFKA_SASL_USERNAME'),
            'password' => env('KAFKA_SASL_PASSWORD'),
            'mechanisms' => env('KAFKA_SASL_MECHANISMS'),
        ],
        'handler' => MonitoringHandler::class,
    ],
...

MonitoringHandler::class

<?php

namespace App\Handlers;

use Junges\Kafka\Contracts\KafkaConsumerMessage;

class MonitoringHandler
{
    /**
     * @param KafkaConsumerMessage $message
     *
     * @return void
     */
    public function __invoke(KafkaConsumerMessage $message): void
    {
        print_r($message->getBody());
    }
}

Consumer

Run

php artisan kafka:consume monitoring