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

dev-main 2025-10-25 08:35 UTC

This package is auto-updated.

Last update: 2025-10-25 08:40:22 UTC


README

Latest Version on Packagist Total Downloads License

An advanced Laravel queue manager that optimizes async processing with intelligent scaling, real-time monitoring, and detailed statistics.

20250730_1948_Personagens da Logo_remix_01k1eafbcwfbcvwh07gdcxzvde

⚠️ 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:

  1. All assets will be republished
  2. New migrations will run automatically
  3. Routes will be reloaded
  4. 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

Built with ❤️ by Vinkius Labs