Download the PHP package smartcoder01/laravel-queue-kafka without Composer
On this page you can find all versions of the php package smartcoder01/laravel-queue-kafka. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download smartcoder01/laravel-queue-kafka
More information about smartcoder01/laravel-queue-kafka
Files in smartcoder01/laravel-queue-kafka
Package laravel-queue-kafka
Short Description This is a Laravel queue adapter for the Kafka.
License MIT
Informations about the package laravel-queue-kafka
Laravel Kafka Queue Driver
This package provides a Kafka-based queue driver for Laravel, allowing you to use Apache Kafka as a message queue for your Laravel applications. It integrates seamlessly with Laravel's queue system, enabling you to push jobs to Kafka and process them using Kafka consumers.
Features
- Kafka Queue Driver: Use Kafka as a queue driver in Laravel.
- Producer and Consumer Support: Easily produce and consume messages from Kafka topics.
- Configuration: Customize Kafka connection settings via Laravel's configuration files.
- Service Provider: Automatically registers Kafka connectors and dependencies.
- Job Handling: Process jobs using Laravel's job handling system.
Installation
You can install the package via Composer:
Configuration
1. Publish Configuration File
Publish the configuration file to your Laravel application:
This will create a kafka.php
file in your config
directory.
2. Update .env
Add the following Kafka configuration to your .env
file:
3. Configure Kafka Connection
Update the config/kafka.php
file to match your Kafka setup:
Usage
1. Setting Up Queues
To use Kafka as your queue driver, update the QUEUE_CONNECTION
variable in your .env
file:
2. Pushing Jobs to Kafka
You can push jobs to Kafka just like you would with any other Laravel queue driver:
Alternatively, you can use the Queue
facade:
3. Consuming Jobs
To process jobs from Kafka, run the Laravel queue worker:
This will start a worker that listens to the Kafka topic specified in your configuration.
Advanced Configuration
Customizing Kafka Producer and Consumer
You can customize the Kafka producer and consumer by modifying the registerDependencies
method in the KafkaQueueServiceProvider
:
Handling Deadlocks
The package includes basic deadlock handling for job processing. If a deadlock is detected, the worker will retry the job after a short delay.
Troubleshooting
1. Kafka Broker Not Reachable
Ensure that your Kafka broker is running and accessible. Check the KAFKA_BROKER_LIST
configuration in your .env
file.
2. Consumer Not Receiving Messages
- Verify that the
group.id
andauto.offset.reset
settings are correct. - Ensure that the Kafka topic exists and that the consumer is subscribed to the correct topic.
3. Producer Timeout
If the producer times out while waiting for acknowledgment, increase the timeout in the waitForAck
method:
Contributing
Contributions are welcome! Please open an issue or submit a pull request if you have any improvements or bug fixes.
License
This package is open-source software licensed under the MIT License.
Credits
Enjoy using Kafka with Laravel! 🚀
All versions of laravel-queue-kafka with dependencies
illuminate/support Version ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0
illuminate/queue Version ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0