mateusjunges/laravel-kafka
Laravel Kafka makes it easy to produce and consume Kafka messages in Laravel with a clean, expressive API and improved testability. Build producers and consumers quickly, integrate with your app workflows, and avoid painful Kafka testing setups.
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?