Queues zijn essentieel voor performante Laravel-applicaties: e-mails versturen, imports verwerken, notificaties sturen — al deze taken gooi je in een queue zodat de gebruiker niet hoeft te wachten. Maar hoe weet je of alles werkt? Horizon.

Wat is Laravel Horizon?

Horizon is een officieel Laravel-pakket dat een mooi dashboard biedt voor je Redis-queues. Je ziet in real-time welke jobs er worden verwerkt, hoeveel er in de wachtrij staan, welke gefaald zijn en wat de verwerkingstijd is.

Installatie

composer require laravel/horizon
php artisan horizon:install
php artisan migrate

Horizon vereist Redis als queue-driver. Pas je .env aan:

QUEUE_CONNECTION=redis

Start Horizon:

php artisan horizon

Het dashboard

Via /horizon (beveiligd met gate) heb je toegang tot:

  • Jobs: overzicht van recente en lopende jobs
  • Metrics: throughput, runtime, failure rate
  • Failed jobs: mislukte jobs met stacktrace en retry-knop
  • Workers: actieve processes en hun belasting

Productie-tips

Supervisor voor procesmanagement

In productie laat je Horizon niet handmatig draaien. Gebruik Supervisor:

[program:horizon]
command=php /var/www/app/artisan horizon
autostart=true
autorestart=true

Alerts bij failures

Configureer een HorizonAlert om per e-mail of Slack te worden gewaarschuwd bij een hoog aantal mislukte jobs.

Balancer

Horizon’s auto balancer verdeelt workers automatisch op basis van queue-belasting. Handig bij ongelijkmatige workloads.

Waarom queues en Horizon?

Applicaties zonder queues zijn traag of fragiel. Bij Meesy implementeren we queues standaard in maatwerk applicaties waar achtergrondtaken nodig zijn. Horizon maakt die applicaties observeerbaar en beheerbaar.

Conclusie

Horizon is een must-have voor elke serieuze Laravel ontwikkeling in productie. Het dashboard is intuitief, de configuratie is eenvoudig en het bespaart je uren debuggen. Wil je weten hoe we jouw applicatie productie-ready maken? Neem contact op.

Heb je vragen over dit onderwerp of wil je samenwerken?

Neem contact op