Laravel 11 – 13
PHP 8.3+
The project is in a healthy, maintained state
Self-hosted, driver-agnostic queue observability for Laravel. Per-class throughput, durations, failures, and live depth/in-flight/delayed metrics with a Livewire dashboard.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

aws/aws-sdk-php
^3.0
dg/bypass-finals
^1.9
laravel/pao
^1.0
^3.0 || ^4.0
mockery/mockery
^1.6
mrpunyapal/peststan
^0.2.10
mrpunyapal/rector-pest
^0.2.7
^9.0||^10.0||^11.0
^3.0||^4.0
pestphp/pest-plugin-arch
^3.0||^4.0
phpstan/extension-installer
^1.4.3
phpstan/phpstan-deprecation-rules
^2.0.4
phpstan/phpstan-phpunit
^2.0.16
phpstan/phpstan-strict-rules
^2.0.10
predis/predis
^2.2 || ^3.0
sandermuller/boost-skills
^2.16
sentry/sentry
^4.23
spaze/phpstan-disallowed-calls
^4.10
symplify/phpstan-extensions
^12.0.2
tomasvotruba/cognitive-complexity
^1.1
tomasvotruba/type-coverage
^2.1

Runtime

^11.0||^12.0||^13.0
^11.0||^12.0||^13.0
^11.0||^12.0||^13.0
^11.0||^12.0||^13.0
^11.0||^12.0||^13.0
^11.0||^12.0||^13.0
 Project Readme

Queue Insights dashboard

Laravel Queue Insights

Latest Version on Packagist GitHub Tests Action Status GitHub PHPStan Action Status Total Downloads License Laravel Compatibility

Self-hosted queue observability for Laravel that doesn't care which driver you run. Queue depth, in-flight and delayed counts, enqueue-to-pickup wait time, per-class metrics, batches, chains, failures with their captured context, alerting, Prometheus metrics, and scheduler runs, all of it the same on SQS, Redis, database, and Laravel Cloud managed queues. No Horizon required, and no job data sent anywhere.

Everything goes into a bounded Redis keyspace that evicts itself. The dashboard is Livewire and Blade with no Filament or Nova coupling, so you can mount it in the admin layout you already have.

Live demo: queue-insights-demo.laravel.cloud: public preview on Laravel Cloud, seeded with realistic fixtures.

Installation

composer require sandermuller/laravel-queue-insights
php artisan vendor:publish --tag=queue-insights-config

Requires PHP 8.3+, Laravel 11/12/13, Redis, and livewire/livewire 3 or 4 if you use the bundled dashboard route. The service provider auto-discovers. See Installation for the full requirements and the environment knobs, and UPGRADING.md when upgrading from an older release.

Usage

Every tile, alert detector, and Prometheus gauge reads from snapshots written by queue-insights:snapshot. The package registers it on Laravel's scheduler with ->everyMinute()->withoutOverlapping(), so a host running php artisan schedule:work (or the equivalent cron) is all it needs.

The dashboard mounts at /queue-insights when dashboard.enabled=true. Authorise it with a Gate:

// app/Providers/AuthServiceProvider.php
Gate::define('viewQueueInsights', fn ($user) => $user->isAdmin());

Payload capture is off by default, and there are good reasons to leave it that way. Read Payload capture and SECURITY.md before turning it on.

Documentation

Read the full documentation at sandermuller.github.io/laravel-queue-insights. The source lives in docs/.

Getting started

  • Why Queue Insights?: what it answers that queue:work and a failed_jobs table do not, and the full feature list
  • Installation: requirements, the snapshot scheduler, environment knobs
  • Getting started: authorize the route, run a worker, read the dashboard
  • Payload capture: the three modes, the separate pending budget, custom sanitizers

Dashboard

  • Dashboard: authorisation, multi-connection scoping, retry permissions and workflow, filtering
  • Jobs, batches, and chains: wait time, the pending inspector, batch progress, chain lineage, job initiator
  • Failure context: what is captured on failure, and the Sentry deep-link
  • Theming and embedding: custom row markup, admin-layout embedding, dark mode, the cloud look

Operations

  • Running workers: the queue-insights:work supervisor, its non-goals, shutdown grace tuning
  • Ops runbook: console commands, dashboard signals, driver quirks, key prefixes, Redis Cluster
  • Alerting: nine detectors, cooldown, log / Slack / mail / Sentry channels, typed events, silencing

Integrations

Reference

Upgrading

See UPGRADING.md for migration steps between minor versions. Patch releases never require manual steps.

Changelog

See CHANGELOG.md and the GitHub releases page. The changelog is updated automatically on release publish, do not edit by hand.

Contributing

See CONTRIBUTING.md for local setup, the check commands, and how the Redis Cluster tests are run.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

MIT. See LICENSE.