PHPackages                             samirlama/laravel-queue-monitor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. samirlama/laravel-queue-monitor

ActiveLibrary[Queues &amp; Workers](/categories/queues)

samirlama/laravel-queue-monitor
===============================

A lightweight Laravel package for recording failed queue jobs and reviewing them from a web dashboard.

00PHP

Since May 1Pushed 1mo agoCompare

[ Source](https://github.com/Samir-Lama/laravel-queue-monitor)[ Packagist](https://packagist.org/packages/samirlama/laravel-queue-monitor)[ RSS](/packages/samirlama-laravel-queue-monitor/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel Queue Monitor
=====================

[](#laravel-queue-monitor)

[![Latest Version on Packagist](https://camo.githubusercontent.com/6f0ac39f6241836c7531b37c34062716c55eb4bad0a406f3a71aee613fde551f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73616d69726c616d612f6c61726176656c2d71756575652d6d6f6e69746f722e737667)](https://packagist.org/packages/samirlama/laravel-queue-monitor)[![Total Downloads](https://camo.githubusercontent.com/9748d185a1b46a7f557143ac678e99bb40b224b187d6357ce8a31103951b3416/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73616d69726c616d612f6c61726176656c2d71756575652d6d6f6e69746f722e737667)](https://packagist.org/packages/samirlama/laravel-queue-monitor)[![License](https://camo.githubusercontent.com/09c8a37d9bb463247b5d8d0f90f69cc9901e4f2138521eadc2558f5cf278917c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f73616d69726c616d612f6c61726176656c2d71756575652d6d6f6e69746f722e737667)](LICENSE)

A lightweight Laravel package for recording failed queue jobs and reviewing them from a simple web dashboard.

The package listens for Laravel's `JobFailed` event, stores the failed job connection, queue, payload, and exception message in a dedicated table, and provides a dashboard where failed jobs can be inspected and queued for retry.

Features
--------

[](#features)

- Records failed queue jobs automatically.
- Stores failed job metadata in the `failed_jobs_monitor` table.
- Provides a dashboard at `/queue-monitor` by default.
- Allows failed jobs to be pushed back onto their original queue.
- Supports configurable route path and middleware.
- Auto-registers with Laravel package discovery.

Requirements
------------

[](#requirements)

- PHP 8.1 or higher
- Laravel 10, 11, 12, or 13
- A configured Laravel queue connection

Installation
------------

[](#installation)

Install the package with Composer:

```
composer require samirlama/laravel-queue-monitor
```

Run the package migration:

```
php artisan migrate
```

Laravel package discovery will register the service provider automatically.

Configuration
-------------

[](#configuration)

Publish the configuration file if you want to customize the dashboard route or middleware:

```
php artisan vendor:publish --tag=queue-monitor-config
```

This creates `config/queue-monitor.php`:

```
return [
    'route_path' => 'queue-monitor',
    'middleware' => ['web'],
];
```

### Route Path

[](#route-path)

By default, the dashboard is available at:

```
/queue-monitor

```

Change `route_path` to mount the dashboard somewhere else:

```
'route_path' => 'admin/queue-monitor',
```

### Middleware

[](#middleware)

The default middleware is `web`. For production applications, protect the dashboard with authentication or authorization middleware:

```
'middleware' => ['web', 'auth'],
```

Usage
-----

[](#usage)

Start your queue worker as usual:

```
php artisan queue:work
```

When a queued job fails, Laravel dispatches a `JobFailed` event. This package records that event in the `failed_jobs_monitor` table.

Visit the dashboard to review failed jobs:

```
http://your-app.test/queue-monitor

```

Each recorded failure shows:

- Queue name
- Exception message
- Failure timestamp
- Retry action

Retrying Jobs
-------------

[](#retrying-jobs)

The dashboard retry button pushes the original job payload back onto the recorded connection and queue.

After retrying a job, make sure a queue worker is running for that queue:

```
php artisan queue:work
```

Database Table
--------------

[](#database-table)

The package creates a `failed_jobs_monitor` table with these columns:

- `id`
- `connection`
- `queue`
- `payload`
- `exception`
- `created_at`
- `updated_at`

This table is separate from Laravel's default `failed_jobs` table.

Local Development
-----------------

[](#local-development)

After cloning the package, install dependencies:

```
composer install
```

If you are testing the package inside a Laravel application, add it as a local path repository in the application's `composer.json`:

```
{
    "repositories": [
        {
            "type": "path",
            "url": "../laravel-queue-monitor"
        }
    ]
}
```

Then require it from the Laravel application:

```
composer require samirlama/laravel-queue-monitor:@dev
```

Security
--------

[](#security)

The dashboard exposes failed job payloads and exception messages, which may contain sensitive data. Do not expose it publicly without authentication and authorization middleware.

License
-------

[](#license)

Laravel Queue Monitor is open-sourced software licensed under the MIT license.

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance61

Regular maintenance activity

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/58373af2ef3787eb7d4a5f7f50d4badc911e39acac1eccc0c22c1505f229e50f?d=identicon)[Samir-Lama](/maintainers/Samir-Lama)

---

Top Contributors

[![Samir-Lama](https://avatars.githubusercontent.com/u/52377492?v=4)](https://github.com/Samir-Lama "Samir-Lama (2 commits)")

### Embed Badge

![Health badge](/badges/samirlama-laravel-queue-monitor/health.svg)

```
[![Health](https://phpackages.com/badges/samirlama-laravel-queue-monitor/health.svg)](https://phpackages.com/packages/samirlama-laravel-queue-monitor)
```

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.5M29](/packages/league-geotools)[illuminate/bus

The Illuminate Bus package.

6145.5M491](/packages/illuminate-bus)[uecode/qpush-bundle

Asynchronous processing for Symfony using Push Queues

1672.5M2](/packages/uecode-qpush-bundle)[prooph/event-store-symfony-bundle

109256.9k10](/packages/prooph-event-store-symfony-bundle)[ezsystems/ezscriptmonitor-ls

eZ Publish extension that aims to avoid timeout problems and database corruption by moving long running processes from the GUI to the background.

13208.2k](/packages/ezsystems-ezscriptmonitor-ls)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
