PHPackages                             mattyeend/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. [Logging &amp; Monitoring](/categories/logging)
4. /
5. mattyeend/queue-monitor

ActiveLibrary[Logging &amp; Monitoring](/categories/logging)

mattyeend/queue-monitor
=======================

A Laravel package to monitor queue logs.

v1.1.13(2mo ago)17MITPHPPHP &gt;=8.1

Since Jan 14Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/MatthewYeend/QueueMonitor)[ Packagist](https://packagist.org/packages/mattyeend/queue-monitor)[ Fund](https://www.buymeacoffee.com/mattyeend)[ GitHub Sponsors](https://github.com/MattYeend)[ RSS](/packages/mattyeend-queue-monitor/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (4)Versions (15)Used By (0)

Queue Monitor
=============

[](#queue-monitor)

A Laravel package for real-time monitoring of queues with stats on processing time, failed jobs, and retry status.

---

Features
--------

[](#features)

- Real-time queue monitoring.
- Detailed stats on processing time and retries.
- Notifications for failed jobs.

---

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

[](#installation)

1. Require the package via Composer ```
    composer require MattYeend/queue-monitor
    ```
2. Publish the configuration, views, and migrations: ```
    php artisan vendor:publish --provider="MattYeend\QueueMonitoring\QueueMonitoringServiceProvider"
    ```
3. Run the migrations to create the necessary database table: ```
    php artisan migrate
    ```
4. Access the dashboard at `/queue-monitor` (or a custom route if configured)

---

Usage
-----

[](#usage)

1. Queue Monitoring Dashboard Once installed, the package provides a monitoring dashboard accessible at `/queue-monitor` (or a custom route specified in `config/queue-monitor.php`). The dashboard displays:

- The list of queues being monitored.
- The number of jobs processed.
- The number of failed jobs.
- The average processing time for each queue.

2. Automatically Updating Queue Statistics To update queue statistics after job processing:

- Inject the `QueueMonitorService` into your job classes or relevant services.
- Use the `updateQueueStatus` method to log the queue name, processing time, and failure status. Example Integration in a Job:

```
use MattYeend\QueueMonitoring\Services\QueueMonitorService;

class ExampleJob implements ShouldQueue
{
    public function handle(QueueMonitorService $service)
    {
        $queueName = 'example-queue';
        $startTime = microtime(true);

        try {
            // Performs job processing
        } catch (\Exception $e) {
            $service->updateQueueStatus($queueName, 0, true); // Log a failed job
            throw $e;
        }

        $endTime = microtime(true);
        $processingTime = ($endTime - $StartTime) * 1000; // Convert to milliseconds
        $service->updateQueueStatus($queueName, $processingTime, false); // Log a successful job
    }
}
```

3. Customising the Dashboard You can customise the dashboard view by modifying the published Blade file `resources/views/vendor/queue-monitor/dashboard.blade.php`
4. Custom Route The change the route for the dashboard, edit the `dashboard_route` value in the configuration file `'dashboard_route' => '/admin/queue-status'`
5. Notifications for Failed Jobs To enable email notifications for failed jobs:

- Add the following to your `.env` file: `QUEUE_MONITOR_NOTIFICATION_EMAIL=devops@yourcompany.com`
- The configured email address will receive alerts whenever a job fails in a monitored queue.

---

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

[](#configuration)

### `.env` File

[](#env-file)

To configure email notifications for failed jobs, add the following line to your `.env` file:

```
QUEUE_MONITOR_NOTIFICATION_EMAIL=devops@yourcompany.com
```

This will be used to send notifications for failed jobs. If not set, it will default to `admin@example.com`.

### Custom Dashboard Route

[](#custom-dashboard-route)

To change the default URL route, modify the `config/queue-monitor.php` file. For example

```
'dashboard_route' => '/admin/queue-status',
```

---

Tests
-----

[](#tests)

### Setting Up the Test Environment

[](#setting-up-the-test-environment)

1. Install Dependencies

```
composer install
```

2. Configure your environment Ensure your `.env` file is set up for testing. By default, the `TestCase` class configures an in-memory SQLite database for testing, so no additional setup is required.

### Running the Test

[](#running-the-test)

1. Run all tests

```
php artisan test
```

or:

```
./vendor/bin/phpunit
```

---

License
-------

[](#license)

This package is licensed under the MIT License.

---

Contributing
------------

[](#contributing)

Feel free to fork the repository and submit pull requests for improvements or new features!

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance88

Actively maintained with recent releases

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Every ~35 days

Recently: every ~104 days

Total

13

Last Release

61d ago

PHP version history (2 changes)v1.1.1PHP ^7.4 || ^8.0

v1.1.11PHP &gt;=8.1

### Community

Maintainers

![](https://www.gravatar.com/avatar/280b020ca627b367261832c86f63f9f71076d720e1f8e6c4a7ae2c9c1a77f39e?d=identicon)[MattYeend](/maintainers/MattYeend)

---

Top Contributors

[![MattYeend](https://avatars.githubusercontent.com/u/23270321?v=4)](https://github.com/MattYeend "MattYeend (27 commits)")

---

Tags

composercomposer-packagelaravellaravel-10laravel-11laravel-12laravel-13laravel-frameworklaravel-packagelaravel10laravel11laravel12laravel13monitorpackagephpqueuequeue-monitorlaravelmonitoringpackagequeuemonitorqueue monitorqueue monitoring

### Embed Badge

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

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

###  Alternatives

[storviaio/vantage

Vantage: Strategic queue monitoring and observability for Laravel applications.

2342.9k](/packages/storviaio-vantage)[guanguans/laravel-exception-notify

Monitor exception and report to the notification channels(Log、Mail、AnPush、Bark、Chanify、DingTalk、Discord、Gitter、GoogleChat、IGot、Lark、Mattermost、MicrosoftTeams、NowPush、Ntfy、Push、Pushback、PushBullet、PushDeer、PushMe、Pushover、PushPlus、QQ、RocketChat、ServerChan、ShowdocPush、SimplePush、Slack、Telegram、WeWork、WPush、XiZhi、YiFengChuanHua、ZohoCliq、ZohoCliqWebHook、Zulip).

14642.7k1](/packages/guanguans-laravel-exception-notify)[aryeo/monitored-jobs

Monitor for your Laravel jobs.

1325.8k1](/packages/aryeo-monitored-jobs)[kssadi/log-tracker

A powerful, intuitive, and efficient log viewer for Laravel applications.

264.8k](/packages/kssadi-log-tracker)

PHPackages © 2026

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