Laravel Horizon

A beautiful dashboard and code-driven configuration for Laravel's Redis queues.

Tool
Composer
vv5.48.3
4,162stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
90/100Excellent
Development Activity88
Maintenance92
Community80
Maturity60
Momentum40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
82/100Excellent
Architecture84
Code Quality85
Innovation78
Learning Curve82

Laravel Horizon gives Redis-backed Laravel queues a real-time dashboard for monitoring job throughput, wait times, runtime, and failures, alongside a single configuration file that defines exactly how many workers run per queue, their balancing strategy, and scaling behavior. Rather than manually managing Supervisor process configs for queue:work, teams declare their worker topology in config/horizon.php and let Horizon’s master supervisor spawn, monitor, and auto-balance worker processes across queues.

Because the configuration lives in a version-controlled PHP file instead of server-specific process manager configs, an entire team can review and collaborate on queue worker changes the same way they review application code. The bundled dashboard (a Vue.js SPA served from Laravel routes) surfaces metrics, recent jobs, and failed jobs without needing a separate monitoring stack.

What You Get

  • A Vue.js dashboard showing job throughput, wait times, runtime, and recent/failed jobs in real time
  • A single config/horizon.php file defining worker pools, balancing strategy (auto, simple, false), and per-queue process counts
  • A master supervisor process (php artisan horizon) that spawns and monitors worker child processes, restarting them on deploys or failures
  • Tagging and metrics for jobs so failures and slow jobs can be traced back to their originating queue/job class
  • Artisan commands (horizon:pause, horizon:continue, horizon:terminate, etc.) for controlling the supervisor from deploy scripts

Common Use Cases

  • Replacing hand-written Supervisor process configs for php artisan queue:work with a single version-controlled configuration file
  • Monitoring queue health in production - job throughput, wait times, and failure rates - without standing up a separate observability stack
  • Auto-balancing worker processes across multiple queues based on load (Horizon’s auto balancing strategy)
  • Gracefully pausing and resuming queue processing during deploys via horizon:pause/horizon:continue

Under The Hood

Architecture - Horizon’s core lives under src/: MasterSupervisorCommands/SupervisorCommands implement the process-spawning and control logic that reads config/horizon.php and manages worker child processes; Connectors adapts Laravel’s queue connections; Repositories persist job/metrics data to Redis for the dashboard to query; Http serves the dashboard’s API/controllers; and Console provides the Artisan commands operators use to start, pause, and inspect the supervisor.

Tech Stack - A Laravel package (PHP, requiring illuminate/queue, illuminate/contracts, illuminate/support) that leans on symfony/process for spawning worker processes and symfony/console for its own supervisor process, with nesbot/carbon and ramsey/uuid for time/id handling. The dashboard frontend is Vue.js with SCSS/Blade for the served admin UI, requiring the PHP pcntl and posix extensions since the master supervisor manages real OS processes.

Code Quality - 73 test files exercise the supervisor logic, connectors, and repositories using orchestra/testbench (the standard Laravel package-testing harness) and Mockery, reflecting active maintenance by the Laravel core team (Taylor Otwell, Dries Vints) with ~100 tagged releases and roughly weekly release cadence.

API Design - Adoption is deliberately low-friction for existing Laravel apps: install via Composer, publish the config, point queue connections at Redis, and run php artisan horizon - no code changes to job classes are required. The dashboard and Artisan commands mirror Laravel’s existing conventions (routes, middleware, service providers), so the learning curve is mostly limited to understanding the config/horizon.php schema rather than a new API surface.

Used by 6 apps in this directory

PHP
79%
Apache 2.0

Coolify

Devops · Hosting Control Panel

60,738

Open-source self-hosted PaaS — deploy apps, databases and 280+ services on your own servers with no vendor lock-in

View details
92
Repo Health
86
Technical
72
Dependency
Built with
PHP79%
Blade18%
Updated yesterday
Vue
49%
MIT

Mixpost

Marketing · Social Media

3,522

Self-host your own social media scheduler and publish to 11 platforms without subscriptions or data lock-in.

View details
51
Repo Health
64
Technical
71
Dependency
Built with
Vue49%
PHP44%
Updated 5 months ago
PHP
61%
Other

OpnForm

Forms Surveys · Marketing

3,609

Build unlimited, embeddable forms with no code — powered by AI, logic rules, and real-time analytics

View details
90
Repo Health
75
Technical
69
Dependency
Built with
PHP61%
Vue31%
Updated yesterday
PHP
55%
AGPL 3.0

Pixelfed

Social Media

7,069

A decentralized, self-hosted photo sharing platform built on ActivityPub for the open Fediverse.

View details
86
Repo Health
68
Technical
69
Dependency
Built with
PHP55%
Vue32%
Blade13%
Updated yesterday
PHP
75%
MIT

SendPortal

Marketing

2,159

Self-hosted email marketing with full data control, multi-workspace isolation, and seamless integration with Amazon SES, SendGrid, Mailgun, and more

View details
47
Repo Health
59
Technical
73
Dependency
Built with
PHP75%
Blade25%
Updated 2 years ago
PHP
63%
AGPL 3.0

Vanguard Backup

Devops

37

Self-hosted backup automation for Ubuntu and Debian servers with S3 storage, SSH-based file and database backup, and multi-channel notifications.

View details
33
Repo Health
80
Technical
70
Dependency
Built with
PHP63%
Blade36%
Updated 9 months ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search