An advanced Laravel queue manager that optimizes async processing with intelligent scaling, real-time monitoring, and detailed statistics.
This package is currently under active development and is NOT production-ready.
Please do not use in production environments. APIs and features may change without notice.
Workaholic is a high-performance, feature-rich Laravel queue worker manager that enhances your application's asynchronous processing capabilities. It provides intelligent worker scaling, health monitoring, and comprehensive statistics to ensure your queues operate efficiently even under heavy loads.
- 🔄 Auto-discovery of queue channels from environment variables
- 📊 Real-time monitoring with detailed metrics and health checks
- ⚡ Multi-worker management with optimized resource allocation
- 🤖 Auto-scaling based on queue load and system metrics
- 📲 Interactive dashboard for visualizing and managing your queues in real-time
- 🧰 Comprehensive CLI tools for queue operations
- 🔍 Daemon mode with automatic health monitoring and recovery
⚠️ Alpha Stage: Workaholic is currently in alpha development. While we welcome testing and feedback, please avoid using it in production environments until the stable 1.0.0 release.
- PHP 8.0+
- Laravel 9.0+, 10.0+, 11.0+, 12.0+
- Redis server (for queue and metrics storage)
# Install via Composer
composer require vinkius-labs/workaholicAfter installing Workaholic, the package will automatically:
- Publish the configuration file to
config/workaholic.php - Publish assets to your public directory
- Run migrations to set up the necessary database tables
You can also manually install the package by running:
php artisan workaholic:installWorkaholic is designed to update automatically whenever you run composer update. During an update:
- All assets will be republished
- New migrations will run automatically
- Routes will be reloaded
- Laravel cache will be cleared
For more information:
Workaholic uses a flexible configuration system based on environment variables:
# Example queue channel configurations
WORKAHOLIC_CHANNELS_EMAIL_WORKERS=5
WORKAHOLIC_CHANNELS_EMAIL_MEMORY=256
WORKAHOLIC_CHANNELS_EMAIL_TIMEOUT=300
WORKAHOLIC_CHANNELS_EMAIL_PRIORITY=high
WORKAHOLIC_CHANNELS_DEFAULT_WORKERS=3
WORKAHOLIC_CHANNELS_DEFAULT_MEMORY=128
WORKAHOLIC_CHANNELS_DEFAULT_TIMEOUT=120
WORKAHOLIC_CHANNELS_DEFAULT_PRIORITY=mediumWorkaholic relies on Redis for queue management and metrics storage:
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379# Start queue workers with auto-discovery
php artisan workaholic:queue start
# View worker status
php artisan workaholic:queue status
# Monitor health with continuous updates
php artisan workaholic:queue health --watch
# Run in daemon mode with auto-scaling
php artisan workaholic:queue daemon --auto-scale# Start workers for specific channels
php artisan workaholic:queue start --channels=emails,notifications
# Override worker configuration
php artisan workaholic:queue start --workers=5 --memory=256 --timeout=60# Watch queue status in real-time
php artisan workaholic:queue status --watch
# Get detailed statistics
php artisan workaholic:queue stats --json# Run a comprehensive health check
php artisan workaholic:queue health
# Watch health in real-time
php artisan workaholic:queue health --watch# Run in daemon mode with health monitoring and auto-recovery
php artisan workaholic:queue daemon --auto-scaleFor comprehensive documentation, check the /docs directory or visit our documentation site.
composer testIf you discover a security vulnerability, please send an email to VinkiusLabs at labs@vinkius.com. All security vulnerabilities will be promptly addressed.
The MIT License (MIT). Please see License File for more information.
- Vinkius Labs - Package development and maintenance
- Contributors - Community contributions