PHPackages                             kreatif/laravel-queue-watchdog - 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. kreatif/laravel-queue-watchdog

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

kreatif/laravel-queue-watchdog
==============================

A Laravel package to monitor queue failures and send notifications based on thresholds and time windows.

v1.1.4(4mo ago)014MITPHPPHP ^8.2

Since Feb 2Pushed 4mo agoCompare

[ Source](https://github.com/kreatifIT/laravel-queue-watchdog)[ Packagist](https://packagist.org/packages/kreatif/laravel-queue-watchdog)[ Docs](https://github.com/kreatifIT/laravel-queue-watchdog)[ RSS](/packages/kreatif-laravel-queue-watchdog/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (6)Versions (7)Used By (0)

Laravel Queue Watchdog
======================

[](#laravel-queue-watchdog)

A Laravel package to monitor queue failures and send notifications based on thresholds and time windows.

Features
--------

[](#features)

- **Digest Mode (Time-Bucket)**: Instead of immediate alerts, it collects all failures within a time window and sends a summary report.
- **Threshold Monitoring**: Alert only when X jobs fail within Y minutes.
- **Queue Filtering**: Precisely control which queues to monitor (supports wildcards and exclusions).
- **Aggregation Strategies**:
    - `all`: Count all failures.
    - `unique_jobs`: Count failures per job class.
    - `unique_exceptions`: Count failures per exception type.
- **Cooldown**: Prevent notification spam with a configurable cooldown period after a report is sent.
- **Multi-channel Notifications**: Support for Mail, Slack, and any other Laravel notification channel.

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

[](#installation)

```
composer require kreatif/laravel-queue-watchdog
```

*Note: If you plan to use the Slack notification channel, you must also install the official Laravel Slack notification package:*

```
composer require laravel/slack-notification-channel
```

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

[](#configuration)

Publish the config file:

```
php artisan vendor:publish --tag="laravel-queue-watchdog-config"
```

or

```
php artisan vendor:publish --tag="queue-watchdog-config"
```

The configuration allows you to define thresholds, aggregation strategies, and notification channels.

### How it works: Digest Mode

[](#how-it-works-digest-mode)

The watchdog uses a **Time-Bucket** model to ensure no failure information is lost:

1. The first failure on a monitored queue starts a "Collection Window" (defined by `window_minutes`).
2. All subsequent failures during this window are collected in a cache-based bucket.
3. At the end of the window, an analysis job runs.
4. If the total count of failures is &gt;= `failure_limit`, a summary notification is sent via your configured channels.
5. A `cooldown_minutes` period then starts, during which no new collection windows will begin.

#### Configuration Tips:

[](#configuration-tips)

- **Real-time Alerts**: Set `window_minutes` to `0` or `false` and `failure_limit` to `1` to receive a notification immediately for every failure.
- **Strict Digest**: Set `window_minutes` to `10` and `failure_limit` to `1` to get a summary of all failures every 10 minutes.
- **Threshold Digest**: Set `window_minutes` to `5` and `failure_limit` to `10` to only be notified if at least 10 jobs fail within a 5-minute burst.

### Queue Filtering

[](#queue-filtering)

You can precisely control which queues are monitored using the `queues` array in the config file. It supports wildcards and exclusions:

- `*`: Monitor all queues.
- `default`: Monitor only the "default" queue.
- `!ignored`: Exclude the "ignored" queue.
- `sync*`: Monitor any queue starting with "sync" (e.g., `sync-users`, `sync-orders`).

Example:

```
'queues' => ['*', '!update', 'report', 'sync*'],
```

Usage
-----

[](#usage)

The package automatically listens for the `Illuminate\Queue\Events\JobFailed` event and tracks failures in your cache. No additional setup is required beyond configuration.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance76

Regular maintenance activity

Popularity6

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity51

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.

###  Release Activity

Cadence

Every ~2 days

Total

6

Last Release

129d ago

### Community

Maintainers

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

---

Tags

laravelmonitoringqueuealertwatchdogkreatif

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/kreatif-laravel-queue-watchdog/health.svg)

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

###  Alternatives

[spatie/laravel-health

Monitor the health of a Laravel application

87411.3M153](/packages/spatie-laravel-health)[laravel/horizon

Dashboard and code-driven configuration for Laravel queues.

4.1k91.3M280](/packages/laravel-horizon)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.1M337](/packages/psalm-plugin-laravel)[harris21/laravel-fuse

Circuit breaker for Laravel queue jobs. Protect your workers from cascading failures.

43140.3k](/packages/harris21-laravel-fuse)[defstudio/telegraph

A laravel facade to interact with Telegram Bots

815320.5k3](/packages/defstudio-telegraph)[laravel/ai

The official AI SDK for Laravel.

9782.1M162](/packages/laravel-ai)

PHPackages © 2026

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