PHPackages                             ramstad/queue-validator - 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. ramstad/queue-validator

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

ramstad/queue-validator
=======================

Queue validator for Laravel 5.3

0111PHP

Since May 1Pushed 8y ago1 watchersCompare

[ Source](https://github.com/jordanramstad/queue-validator)[ Packagist](https://packagist.org/packages/ramstad/queue-validator)[ RSS](/packages/ramstad-queue-validator/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Note
----

[](#note)

Looks like the following PL implements changes better then this package provides. The latest versions of 5.3 (not sure the exact version this is implemented on) will cover what this package tries to help with. [laravel/framework#16212](https://github.com/laravel/framework/pull/16212)

Queue Validator for Laravel 5.3
-------------------------------

[](#queue-validator-for-laravel-53)

Having issues with queue's in laravel 5.3? This package is made to help mitigate any damage from lost jobs.

### How it works

[](#how-it-works)

This package will add a table that will send any data from jobs that are sent to the queue. This is configurable per job class since proper verification might change from class to class. More on this later.

Once a queue is finished it will remove the record from the database. This might seem like its just using the database driver, but its more of a log. If the record is added but never removed (even after running failed jobs) it can be assumed that something went wrong.

Since this can effectively back up all data related to the queue, it can be used in a similar fashion to the failed jobs. However the reason for each job being configurable is that sometimes there is an error in the job class itself. Meaning that even if the queue tries to run it, it cannot even initialize it. This allows the raw data that was used to generate the job to be used, rather then a serialized version.

### Installation

[](#installation)

First Add the service provider to your apps config.

```
Ramstad\QueueValidator\QueueValidatorServiceProvider::class

```

Then for each Job you want to validate you need to add an extra trait.

```
use Ramstad\QueueValidator\ValidatesQueue;

```

```
class SomeJob implements ShouldQueue
{
    use ValidatesQueue;
}

```

This uses the jobs `queue()` function so if you are using that for any other reason this may not work for you.

You will also need some extra fields added to your job in its initialization.

```
class SomeJob implements ShouldQueue
{
    use ValidatesQueue;

    protected $related_class;
    protected $related_id;
    protected $related_data;

    public function __construct(SomeModelClass $model, $fields)
    {
        $this->related_class = SomeModelClass::class;
        $this->related_id = $model->id;
        $this->related_data = [
            'fields' => $fields
        ];
    }
}

```

### Usage

[](#usage)

Right now there is only one method to check the queue log table

```
php artisan queue:check

```

What this will do is output a list of jobs that have been lost, because the jobs could be still processing it check that they are older then 5 minutes by default.

To adjust the time just add a number to the end.

```
php artisan queue:check 10

```

Will check for any queue's older then 10 minutes that have not been processed.

### Todo

[](#todo)

- Add command to retry lost queues (different then failed job's, it completely redispatches the job rather then use the serialized job class).
- Create lost job notifications.
- Add extra functions to jobs to allow full verification of the job. Rather then just check that the queue ran it can also check to ensure it did what it needed too (If it creates a file, then check that it exists and such).

### Notes

[](#notes)

This is far from a perfect solution, there is likely better ways to help with queue issues and hopefully at some point this package becomes pointless. Removing the package or leaving it should not have any problematic effects on your application though.

###  Health Score

20

—

LowBetter than 17% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

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/45874d7d43089ae3bff344d0aec8b55c86cc7447e0d4bb7ea8f50f24e2fb5dca?d=identicon)[jordanramstad](/maintainers/jordanramstad)

### Embed Badge

![Health badge](/badges/ramstad-queue-validator/health.svg)

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

###  Alternatives

[react/promise

A lightweight implementation of CommonJS Promises/A for PHP

2.5k354.1M506](/packages/react-promise)[react/socket

Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP

1.3k111.4M351](/packages/react-socket)[amphp/byte-stream

A stream abstraction to make working with non-blocking I/O simple.

389113.4M89](/packages/amphp-byte-stream)[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.2M21](/packages/league-geotools)[hollodotme/fast-cgi-client

A PHP fast CGI client to send requests (a)synchronously to PHP-FPM.

56423.0M21](/packages/hollodotme-fast-cgi-client)[queue-interop/queue-interop

Promoting the interoperability of MQs objects. Based on Java JMS

48130.0M85](/packages/queue-interop-queue-interop)

PHPackages © 2026

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