PHPackages                             ami-praha/laravel-db-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. ami-praha/laravel-db-queue-monitor

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

ami-praha/laravel-db-queue-monitor
==================================

Laravel DB Queue Monitoring

1.2.0(3mo ago)14.5kMITPHPPHP &gt;=7.3

Since Jan 13Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/AMI-Praha-a-s/laravel-db-queue-monitor)[ Packagist](https://packagist.org/packages/ami-praha/laravel-db-queue-monitor)[ RSS](/packages/ami-praha-laravel-db-queue-monitor/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (3)Dependencies (1)Versions (4)Used By (0)

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

[](#laravel-queue-monitor)

This package offers monitoring like [Laravel Horizon](https://laravel.com/docs/horizon) for database queue.

Features
--------

[](#features)

- Monitor all jobs like [Laravel Horizon](https://laravel.com/docs/horizon), but not only for redis
- Handles failed jobs with exception
- Support for milliseconds
- Model for Queue Monitorings

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

[](#installation)

```
composer require ami-praha/laravel-db-queue-monitor

```

Or add `ami-praha/laravel-db-queue-monitor` to your `composer.json`

```
"ami-praha/laravel-db-queue-monitor": "^1.0.12"

```

Run composer update to pull the latest version.

**If you use Laravel 5.5+ you are already done, otherwise continue:**

```
AmiPraha\LaravelDbQueueMonitor\Providers\LaravelDbQueueMonitorProvider::class,
```

Add Service Provider to your app.php configuration file:

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

[](#configuration)

Copy configuration to config folder:

```
$ php artisan vendor:publish --provider="AmiPraha\LaravelDbQueueMonitor\Providers\LaravelDbQueueMonitorProvider"  --tag="config"

```

Copy Vue components to resources folder if you want to modify components (not needed):

```
$ php artisan vendor:publish --provider="AmiPraha\LaravelDbQueueMonitor\Providers\LaravelDbQueueMonitorProvider" --tag="vue-components"

```

and add component to admin/app.js like this:

```
Vue.component('basic-laravel-db-queue-monitor', require('./components/BasicLaravelDbQueueMonitor'));

```

or if you yre going to use component directly from the package, then like this:

```
Vue.component('basic-laravel-db-queue-monitor', require('../../../../vendor/ami-praha/laravel-db-queue-monitor/resources/assets/js/admin/components/BasicLaravelDbQueueMonitor'));

```

Migrate the Queue Monitoring table. The table name itself can be configured in the config file.

```
$ php artisan migrate

```

Usage
-----

[](#usage)

To monitor a job, add the `AmiPraha\LaravelDbQueueMonitor\Traits\LaravelDbQueueMonitor` Trait.

### Update Job Progress / Custom Data

[](#update-job-progress--custom-data)

You can update the progress of the current job, like supported by FFMpeg

```
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use AmiPraha\LaravelDbQueueMonitor\Traits\LaravelDbQueueMonitor; // queueProgress($percentage);
        });

        // Save data if finished. Must be type of array
        $this->queueData(['foo' => 'bar']);
    }
}
```

### Retrieve processed Jobs

[](#retrieve-processed-jobs)

```
use AmiPraha\LaravelDbQueueMonitor\Models\Monitor;

$jobs = Monitor::ordered()->get();

foreach ($jobs as $job) {

    // Exact start & finish dates with milliseconds
    $job->startedAtExact();
    $job->finishedAtExact();
}
```

### Model Scopes

[](#model-scopes)

```
// Filter by Status
Monitor::failed();
Monitor::succeeded();

// Filter by Date
Monitor::lastHour();
Monitor::today();

// Chain Scopes
Monitor::today()->failed();

// Get parsed custom Monitor data

$monitor = Monitor::find(1);

$monitor->data; // Raw data string

$monitor->parsed_data; // JSON decoded data, always array
```

ToDo
----

[](#todo)

- Add Job &amp; Artisan Command for automatic cleanup of old database entries

---

The Idea has been inspirated by gilbitron's [laravel-queue-monitor](https://github.com/gilbitron/laravel-queue-monitor) package.

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance82

Actively maintained with recent releases

Popularity22

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 85.7% 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 ~926 days

Total

3

Last Release

93d ago

PHP version history (2 changes)1.0.12PHP &gt;=7.0

1.1.0PHP &gt;=7.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/d45ab5a4ad71dfe6e6c93f8b2735aceea7ca59361d6b4b3e5835f46443b3d5b2?d=identicon)[AmiPraha](/maintainers/AmiPraha)

---

Top Contributors

[![desthercz](https://avatars.githubusercontent.com/u/25509616?v=4)](https://github.com/desthercz "desthercz (6 commits)")[![dtomsik](https://avatars.githubusercontent.com/u/27832396?v=4)](https://github.com/dtomsik "dtomsik (1 commits)")

### Embed Badge

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

```
[![Health](https://phpackages.com/badges/ami-praha-laravel-db-queue-monitor/health.svg)](https://phpackages.com/packages/ami-praha-laravel-db-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)
