vinkius-labs / workaholic
Workaholic is an advanced Laravel package designed to streamline queue and schedule management with intelligent scaling, real-time monitoring, and detailed statistics. It offers a comprehensive solution for optimizing asynchronous tasks and cron-based commands, featuring auto-discovery, auto-scaling
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/vinkius-labs/workaholic
Requires
- php: ^8.0
- illuminate/console: ^9.0|^10.0|^11.0|^12.0
- illuminate/redis: ^9.0|^10.0|^11.0|^12.0
- illuminate/support: ^9.0|^10.0|^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^7.0|^8.0|^9.0|^10.0
- phpunit/phpunit: ^9.0|^10.0|^11.0
This package is auto-updated.
Last update: 2025-10-25 08:40:22 UTC
README
An advanced Laravel queue manager that optimizes async processing with intelligent scaling, real-time monitoring, and detailed statistics.
⚠️ DEVELOPMENT STATUS ⚠️
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.
Overview
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.
Key features
- 🔄 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.
Requirements
- PHP 8.0+
- Laravel 9.0+, 10.0+, 11.0+, 12.0+
- Redis server (for queue and metrics storage)
Installation
# Install via Composer
composer require vinkius-labs/workaholic
After 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:install
Updating
Workaholic 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:
Configuration
Environment Variables
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=medium
Redis Configuration
Workaholic relies on Redis for queue management and metrics storage:
REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
Quick Start
# 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
Features
Intelligent Worker Management
# 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
Real-time Monitoring
# Watch queue status in real-time php artisan workaholic:queue status --watch # Get detailed statistics php artisan workaholic:queue stats --json
Health Checks and Diagnostics
# Run a comprehensive health check php artisan workaholic:queue health # Watch health in real-time php artisan workaholic:queue health --watch
Daemon Mode with Supervision
# Run in daemon mode with health monitoring and auto-recovery
php artisan workaholic:queue daemon --auto-scale
Documentation
For comprehensive documentation, check the /docs directory or visit our documentation site.
🧪 Testing
composer test
Security
If you discover a security vulnerability, please send an email to VinkiusLabs at labs@vinkius.com. All security vulnerabilities will be promptly addressed.
License
The MIT License (MIT). Please see License File for more information.
Credits
- Vinkius Labs - Package development and maintenance
- Contributors - Community contributions