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.idandauto.offset.resetsettings 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
ext-rdkafka Version *
illuminate/database Version ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0
illuminate/support Version ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0
illuminate/queue Version ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0 || ^12.0 || ^13.0