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 throughput, runtimes, and failed jobs, and manage all worker and supervisor settings from a single config file kept in source control.

View on GitHub
Deep Wiki
Context7

Dashboard and code-driven configuration for Laravel queues.

Frequently asked questions about Horizon
How do I install Laravel Horizon for Redis queue monitoring?
Run `composer require laravel/horizon` and then `php artisan horizon:install`. This sets up the dashboard and publishes the default configuration file (`config/horizon.php`). For customization, use `php artisan horizon:publish` instead.
Does Laravel Horizon work with Laravel 10 and PHP 8.5?
Yes, Horizon officially supports Laravel 10+ (v5.44.0+) and is backward-compatible with PHP 8.5 (since v5.40.1). Always check the [Laravel docs](https://laravel.com/docs/horizon) for the latest version compatibility.
Can I use Horizon with non-Redis queues like database or SQS?
No, Horizon is designed exclusively for Redis queues. If you rely on database queues (e.g., `database` or `beanstalkd`), you’ll need to migrate to Redis first or use alternative tools like `laravel-queue-worker-monitor` for other backends.
How do I configure multiple worker supervisors (e.g., for different queue priorities)?
Edit `config/horizon.php` and define multiple `supervisors` under the `supervisors` key. Each can specify unique `connection`, `queue`, `balance`, and `processes` settings. For example, separate supervisors for `high`, `default`, and `failed` queues.
What metrics does the Horizon dashboard show, and how can I customize them?
The dashboard displays job throughput, runtime, failures, and retry counts. Customize metrics by extending Horizon’s `HorizonServiceProvider` or overriding views in `resources/views/vendor/horizon`. For advanced metrics, use Laravel’s `Horizon::metrics()` method.
How do I migrate from `queue:work` or Supervisor to Horizon?
Replace `queue:work` with `horizon:work` or `horizon:listen` for long-running supervision. If using Supervisor, update your config to manage Horizon’s processes (e.g., `horizon:work` as a command). Test in staging first to ensure job throughput isn’t disrupted.
Why does Horizon require Redis, and how do I check if my app is ready?
Horizon uses Redis for real-time job monitoring and supervision. Verify readiness by running `php artisan queue:failed-table` (to check current failures) and benchmarking Redis performance under load. Horizon won’t work without Redis.
How do I handle job failures or timeouts in Horizon?
Failed jobs appear in the dashboard under the “Failed” tab. Retry them manually or configure automatic retries in `config/horizon.php` under `failed_jobs`. For timeouts, adjust `max_runtime` per supervisor or job class.
Can I integrate Horizon with existing Laravel jobs or middleware?
Yes, Horizon inherits all existing Laravel queue configurations, including middleware and job classes. No changes are needed for standard jobs. For custom logic, use Horizon’s `Horizon::metrics()` or extend the `JobProcessor` class.
What’s the best way to deploy Horizon in production, and how do I monitor its health?
Deploy Horizon alongside your Laravel app, ensuring Redis is accessible. Monitor health via the dashboard’s “Workers” tab or CLI (`php artisan horizon:terminate`). Use Supervisor to manage Horizon’s processes if needed, but Horizon replaces manual `queue:work` supervision.
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.
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope
anil/file-picker
broqit/fields-ai