cyppe / laravel-batch-jobs-redis-driver
Redis driver for handling batch jobs in Laravel instead of default mysql table job_batches
Package info
github.com/cyppe/laravel-batch-jobs-redis-driver
pkg:composer/cyppe/laravel-batch-jobs-redis-driver
Requires
- php: ^8.1
- ext-redis: *
- laravel/framework: ^10.0|^11.0|^12.0|^13.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.87
- larastan/larastan: ^3.0
- orchestra/testbench: ^10.8|^11.0
- phpstan/phpstan: ^2.1
- rector/rector: ^2.2.14
README
Overview
The Laravel Batch Jobs Redis Driver offers a performance-optimized alternative for handling batch jobs in Laravel. This package replaces the default MySQL job_batches table with a Redis driver, significantly improving processing efficiency, especially under heavy workloads.
Fully compatible with Laravel Horizon Batch overview:
Installation
Laravel
install
composer require "cyppe/laravel-batch-jobs-redis-driver"
Important Configuration
Before using this Redis driver, you must update your config/queue.php configuration.
Set the database key under the batching section to 'redis'. Without this adjustment, Laravel will default to using the MySQL driver.
'batching' => [ 'database' => 'redis', // Change this from 'mysql' to 'redis' 'redis_connection' => 'default', // here you can define what redis connection to store batch related data in. Defaults to 'default' if not set. 'table' => 'job_batches', 'debug' => false, ],
Ensure that your Redis connection is correctly configured in Laravel to use this driver effectively.
Pruning batches
It fully supports pruning of batches with default Laravel command:
php artisan queue:prune-batches --hours=24 --unfinished=24 --cancelled=24