PHPackages                             ejunker/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. ejunker/laravel-queue-monitor

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

ejunker/laravel-queue-monitor
=============================

Laravel queue monitoring tools

2.3.10(5y ago)06MITPHPPHP &gt;=5.6.4

Since Aug 14Pushed 5y agoCompare

[ Source](https://github.com/ejunker/laravel-queue-monitor)[ Packagist](https://packagist.org/packages/ejunker/laravel-queue-monitor)[ RSS](/packages/ejunker-laravel-queue-monitor/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (1)Versions (26)Used By (0)

Laravel queue monitor
=====================

[](#laravel-queue-monitor)

This adds various tools to a project for monitoring its queue.

Laravel version
---------------

[](#laravel-version)

This branch and the `2.*` line of tags are for Laravel 5. For the Laravel 4 version [see the laravel4 branch](https://github.com/tremby/laravel-queue-monitor/tree/laravel4) and the `1.*` line of tags.

If you are using Laravel 5.5 or later, and are using PHP 7.1 or later, and your queue is backed by Redis, you may instead consider using [Laravel Horizon](https://laravel.com/docs/5.5/horizon), which is an official tool and solves the same issue as this package.

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

[](#installation)

Require it in your Laravel project:

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

```

If you're running Laravel 5.4 or below, you have to register the service provider manually in your `config/app.php` file:

```
'providers' => [
    ...
    Tremby\QueueMonitor\ServiceProvider::class,
],
```

Use
---

[](#use)

Add a cron job which runs the `queue:queuecheck` Artisan task for each queue you want to monitor. A queue name can be passed as an argument, or the default queue name is used if none is given. See `./artisan queue:queuecheck --help` for full details.

Example cron job to check the default queue every 15 minutes:

```
*/15 * * * * php /home/forge/example.com/artisan queue:queuecheck

```

This task records in the application cache (for one day) that a check for this queue is pending, then pushes a job to this queue. This job changes that cached status to "OK", so if the job doesn't run for whatever reason the status will be left at "pending".

The status of all queue monitors can be checked by rendering one of the provided status views. The markup of the provided views are [Twitter Bootstrap](http://getbootstrap.com/)-friendly and if the `status-page` view is used Bootstrap is loaded from a CDN.

```
Route::get('queue-monitor', function () {
    return Response::view('queue-monitor::status-page');
});
```

Other views available are `queue-monitor::status-panel`, which is the `.panel`element and its contents; and `queue-monitor::status`, which is just the `table`element. Either of these could be used to plug this monitor into a larger monitoring panel. A `panel_class` option can be passed, which defaults to `panel-default`.

There's also `queue-monitor::status-json`, which renders JSON suitable for machine consumption. This allows rendering options to be passed to the underlying `json_encode` and can be used like this:

```
Route::get('queue-monitor.json', function () {
    $response = Response::view('queue-monitor::status-json', [
        'options' => \JSON_PRETTY_PRINT,
    ]);
    $response->header('Content-Type', 'application/json');
    return $response;
});
```

In practice you might set the cron job to run every 15 minutes, and then automate another job (such as with a remote health checker) to run a few minutes later, consume the JSON, and ensure all queues have the `ok` status. If any don't, it could send an alert with a link to the HTML queue status view. It could also check that the date at which the last check was queued is reasonable, and so that the cron job has not stopped working.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 77.8% 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 ~84 days

Recently: every ~259 days

Total

23

Last Release

2067d ago

Major Versions

0.9.1 → 2.02015-08-14

1.1 → 2.12015-08-15

1.2 → 2.22015-08-17

1.2.1 → 2.32015-08-19

1.3.1 → 2.3.12017-02-23

### Community

Maintainers

![](https://www.gravatar.com/avatar/94f5faf8e6d32349cbaf2ebf6cd84b0eb2565f44f3429950f0b06d626ef315bd?d=identicon)[ejunker](/maintainers/ejunker)

---

Top Contributors

[![tremby](https://avatars.githubusercontent.com/u/199635?v=4)](https://github.com/tremby "tremby (21 commits)")[![ejunker](https://avatars.githubusercontent.com/u/4758?v=4)](https://github.com/ejunker "ejunker (3 commits)")[![Braunson](https://avatars.githubusercontent.com/u/577273?v=4)](https://github.com/Braunson "Braunson (1 commits)")[![fromthecove](https://avatars.githubusercontent.com/u/796606?v=4)](https://github.com/fromthecove "fromthecove (1 commits)")[![TimoStahl](https://avatars.githubusercontent.com/u/1961634?v=4)](https://github.com/TimoStahl "TimoStahl (1 commits)")

### Embed Badge

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

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

###  Alternatives

[mpbarlow/laravel-queue-debouncer

A wrapper job for debouncing other queue jobs.

63714.4k1](/packages/mpbarlow-laravel-queue-debouncer)[eyewitness/eye

Eyewitness.io client for Laravel 5 applications

116151.8k](/packages/eyewitness-eye)[therezor/laravel-transactional-jobs

Submit laravel jobs inside transaction. Cancel job after rollback. Proceed after successful commit.

44449.4k](/packages/therezor-laravel-transactional-jobs)[convenia/pigeon

3233.0k](/packages/convenia-pigeon)[baklysystems/laravel-chat-messenger

Laravel chat package

121.8k](/packages/baklysystems-laravel-chat-messenger)

PHPackages © 2026

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