Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Horizon Laravel Package

laravel/horizon

Laravel Horizon adds a polished dashboard and code-driven configuration for Laravel Redis queues. Monitor job throughput, runtime, failures, and worker status, with all queue worker settings kept in a single config file for easy version control.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Queue Management Roadmap: Adopting Laravel Horizon enables a structured approach to scaling asynchronous job processing, aligning with roadmap items like:

    • Observability: Real-time monitoring of job throughput, failures, and runtime metrics (e.g., for SLOs/SLIs).
    • Reliability: Configurable retries, batch processing, and supervisor-based worker management to reduce downtime.
    • Developer Experience: Centralized queue configuration (e.g., horizon.php) to standardize deployments across environments.
  • Build vs. Buy:

    • Buy: Horizon eliminates the need to build a custom queue dashboard or integrate third-party tools (e.g., Sidekiq Enterprise, BullMQ). Its tight Laravel integration reduces maintenance overhead.
    • Custom Solutions: Only consider building in-house if Horizon’s Redis dependency or feature gaps (e.g., multi-queue prioritization) are dealbreakers.
  • Use Cases:

    • High-Volume Background Jobs: E-commerce order processing, real-time notifications, or data pipelines where job visibility is critical.
    • Microservices: Decoupling job processing from web requests in distributed systems.
    • CI/CD Pipelines: Running Horizon in staging/production to validate queue behavior pre-deployment.

When to Consider This Package

Adopt Horizon if:

  • Your Laravel app uses Redis queues and needs real-time monitoring (e.g., tracking failed jobs, supervisor health).
  • You require batch processing (e.g., grouping jobs by tags, parallel execution).
  • Your team lacks dedicated queue monitoring tools but needs alerting (e.g., Slack/email for failures).
  • You prioritize developer collaboration via source-controlled configuration (horizon.php).

Look elsewhere if:

  • You use database queues (Horizon is Redis-only; consider spatie/laravel-queue-scheduler for SQL).
  • Your queue workload is low-volume (Horizon’s overhead may not justify the dashboard).
  • You need advanced prioritization (e.g., dynamic queue weighting) beyond Horizon’s FIFO/batch support.
  • Your stack excludes Laravel (Horizon is framework-specific).

How to Pitch It (Stakeholders)

For Executives: *"Horizon transforms Laravel’s queue system from a black box into a managed service. For ~$0 (MIT-licensed), we gain:

  • Visibility: Real-time dashboards for job failures, throughput, and worker health—critical for scaling [Product X]’s background processes.
  • Reliability: Built-in retries, batch processing, and supervisor failovers reduce downtime risks (e.g., [Incident Y]).
  • Cost Savings: Avoids vendor lock-in with Sidekiq/BullMQ; integrates natively with our existing Redis infrastructure. ROI: 2–3 dev-hours/week saved on manual queue debugging, with proactive alerts to catch issues before users notice."*

For Engineering: *"Horizon lets us:

  1. Centralize queue config in horizon.php (no more scattered .env tweaks).
  2. Monitor jobs by tag/batch (e.g., track notifications.sms failures separately).
  3. Scale workers dynamically via supervisors (e.g., auto-spawn workers during peak load).
  4. Debug faster: Click-through job details, retry failed jobs, and clear queues via CLI. Trade-offs: Redis dependency (already used), minor learning curve for supervisor setup. Alternatives like Tailscale or custom scripts would require 10x more effort for 80% of the features."*
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport