mateusjunges/laravel-kafka
Laravel Kafka brings a clean Laravel-friendly API for producing and consuming Kafka messages, with an emphasis on developer experience and easier testing. Ideal for integrating Kafka streams and event-driven workflows into your Laravel applications.
Stopping consumers is very useful if you want to ensure you don't kill a process halfway through processing a consumed message.
Consumers automatically listen to the SIGTERM, SIGINT and SIQUIT signals, which means you can easily stop your consumers using those signals.
<x-sponsors.request-sponsor/>
If your app requires that you run sum sort of processing when the consumers stop processing messages, you can use the onStopConsume method, available on the \Junges\Kafka\Contracts\CanConsumeMessages interface. This method accepts a Closure that will run once your consumer stops consuming.
use Junges\Kafka\Facades\Kafka;
$consumer = Kafka::consumer(['topic'])
->withConsumerGroupId('group')
->withHandler(new Handler)
->onStopConsuming(static function () {
// Do something when the consumer stop consuming messages
})
->build();
$consumer->consume();
This features requires Process Control Extension to be installed.
How can I help you explore Laravel packages today?