laravel:horizon:metrics-and-dashboards
Horizon: Metrics and Dashboards
Make queues observable and actionable via Horizon.
Naming & Tags
- Use named queues (e.g.,
high,default,low); route jobs intentionally - Tag jobs with domain identifiers (user ID, aggregate ID) for tracing
Workers & Concurrency
- Right‑size
--max-time,--tries,--backoff - Separate critical queues into dedicated supervisors
Failures
- Use
failed()method/logging with structured context - Idempotency—ensure safe retries (unique keys, upserts, guards)
Metrics & Dashboards
- Track: throughput, runtime distribution, retries, failure rate, time‑to‑handle
- Add health indicators for backlog and SLA thresholds
- Integrate with your APM where possible
Testing
- Use
Bus::fake()for dispatch assertions - Integration tests to verify side‑effects and tags
More from jpcaparas/superpowers-laravel
laravel:blade-components-and-layouts
Compose UIs with Blade components, slots, and layouts; keep templates pure and testable
90laravel:routes-best-practices
Keep routes clean and focused on mapping requests to controllers; avoid business logic, validation, or database operations in route files
89laravel:quality-checks
Unified quality gates for Laravel projects; Pint, static analysis (PHPStan/Psalm), Insights (optional), and JS linters; Sail and non-Sail pairs provided
80laravel:performance-caching
Use framework caches and value/query caching to reduce work; add tags, locks, and explicit invalidation strategies for correctness
77laravel:eloquent-relationships
Define clear relationships and load data efficiently; prevent N+1, use constraints, counts/sums, and pivot syncing safely
76laravel:tdd-with-pest
Apply RED-GREEN-REFACTOR with Pest or PHPUnit; use factories, feature tests for HTTP, and parallel test runners; verify failures before implementation
76