PHPackages                             crazybooot/queue-stats - 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. crazybooot/queue-stats

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

crazybooot/queue-stats
======================

Laravel 5.5 package to collect queue statistics

62865[13 issues](https://github.com/crazybooot/queue-stats/issues)JavaScript

Since Nov 13Pushed 8y ago1 watchersCompare

[ Source](https://github.com/crazybooot/queue-stats)[ Packagist](https://packagist.org/packages/crazybooot/queue-stats)[ RSS](/packages/crazybooot-queue-stats/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel package for queued job statistics collecting

Install
-------

[](#install)

- Install composer package to your laravel project

```
$ composer require crazybooot/queue-stats
```

- Add service provider to config/app.php

```
    'providers' => [
        ...
        Crazybooot\QueueStats\Providers\QueueStatsServiceProvider::class,
    ],
```

- Publish migrations

```
$ php artisan vendor:publish --provider="Crazybooot\QueueStats\Providers\QueueStatsServiceProvider" --tag="migrations"
```

- Run migrations

```
$ php artisn migrate
```

- Use QueueStatsTrait and QueueStatsInterface on jobs models you want to collect statistics

```
...
use Crazybooot\QueueStats\Traits\QueueStatsTrait;
use Crazybooot\QueueStats\Interfaces\QueueStatsInterface;

class ExampleJob implementes QueueStatsInterface, ShouldQueue
{
    use QueueStatsTrait;
}
```

- As well you can use extended artisan command to generate job with QueueStatsTrait and QueueStatsInterface. Just add `StatJobMakeCommand` command to the `app/Console/Kernel.php`. `php artisan make:job` would be override by this command.

```
    protected $commands = [
        ...
        Crazybooot\QueueStats\Make\StatJobMakeCommand::class
    ];
```

Using
-----

[](#using)

Get statistics about jobs:

```
...
use Crazybooot\QueueStats\Models\Job;

...
// get failed jobs
Job::failed()->get();

// get success jobs
Job::success()->get();

// get not handled jobs
Job::notHandled()->get();

// get jobs handled on specified queue
Job::queue('default')->get();

// get jobs on specified connection
Job::connection('redis')->get();

// get jobs with specified class
Job::class(ExampleJob::class)->get();

// get jobs with specified number of attempts
Job::attemptsCount(3)->get();

// get jobs which has result
Job::withResult()->get();

// get jobs which have no result
Job::withoutResult()->get();

// get jobs with specified type
Job::type('custom_type')->get();

// get jobs without type
Job::withoutType()->get();
```

You can get statistics about one job by using getUuid() method on job instance before dispatching job:

```
...
use Crazybooot\QueueStats\Models\Job;
use App\Job\ExampleJob;

...

$job = new ExampleJob();
$uuid = $job->getUuid();

...

dispath($job);

...

$jobStats = Job::where('uuid', $uuid)->first();

// returns total job atempts waiting on queue duration in seconds
$waitingDuration = $jobStats->getAttribute('waiting_duration');

// returns total job atempts handling duration in seconds
$handlingDuration = $jobStats->getAttribute('handling_duration);

// return job attempts count
$attemptsCount = $jobStats->getAttribute('attempts_count');
```

You can add some job results to statistics passing array of data you want to save $this-&gt;saveResult(). Result will be stored in database in json format what allows to query more complex data with Eloquent or Query Builder.

```
use Crazybooot\QueueStats\Traits\QueueStatsTrait;

class ExampleJob implementes ShouldQueue
{
    use QueueStatsTrait;

    ...

    public function handle()
    {

    ...

    $this->saveResult([
        'some_key' => [
            'some_key' => 'some_payload'
        ]
    ]);
    }
}
```

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

[](#requirements)

- PHP: 7.0+
- Laravel: 5.5
- Supported queue drivers: database, beanstalkd, redis

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/63f9f618bf7eb34b152613b7583bc1d024a9bb95abfa563a9e212a4b4b2da7ee?d=identicon)[crazybooot](/maintainers/crazybooot)

---

Top Contributors

[![crazybooot](https://avatars.githubusercontent.com/u/4480913?v=4)](https://github.com/crazybooot "crazybooot (24 commits)")

### Embed Badge

![Health badge](/badges/crazybooot-queue-stats/health.svg)

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

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.3M26](/packages/league-geotools)[amphp/parser

A generator parser to make streaming parsers simple.

14952.8M16](/packages/amphp-parser)[amphp/serialization

Serialization tools for IPC and data storage in PHP.

13451.1M18](/packages/amphp-serialization)[enqueue/enqueue

Message Queue Library

19820.0M56](/packages/enqueue-enqueue)[deliciousbrains/wp-background-processing

WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks.

1.1k409.8k6](/packages/deliciousbrains-wp-background-processing)[react/async

Async utilities and fibers for ReactPHP

2238.8M171](/packages/react-async)

PHPackages © 2026

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