PHPackages                             cakedc/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. [Logging &amp; Monitoring](/categories/logging)
4. /
5. cakedc/queue-monitor

ActiveCakephp-plugin[Logging &amp; Monitoring](/categories/logging)

cakedc/queue-monitor
====================

CakeDC Queue Monitor plugin for CakePHP

2.1.0(1y ago)114.9k↓38.1%MITPHPPHP &gt;=8.1

Since Apr 18Pushed 5mo ago10 watchersCompare

[ Source](https://github.com/CakeDC/cakephp-queue-monitor)[ Packagist](https://packagist.org/packages/cakedc/queue-monitor)[ Docs](https://github.com/CakeDC/cakephp-queue-monitor)[ RSS](/packages/cakedc-queue-monitor/feed)WikiDiscussions 2.next-cake5 Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (16)Used By (0)

CakeDC Queue Monitor Plugin for CakePHP
=======================================

[](#cakedc-queue-monitor-plugin-for-cakephp)

Versions and branches
---------------------

[](#versions-and-branches)

CakePHPCakeDC Queue Monitor PluginTagNotes^5.0[2.1.0](https://github.com/CakeDC/cakephp-queue-monitor/tree/2.next-cake5)2.next-cake5stable^4.4[1.0.0](https://github.com/CakeDC/cakephp-queue-monitor/tree/1.next-cake4)1.next-cake4stableOverview
--------

[](#overview)

The CakeDC Queue Monitor Plugin adds the ability to monitor jobs in queues that are handled by the [CakePHP Queue Plugin](https://github.com/cakephp/queue). This plugin checks the duration of work of individual Jobs and sends a notification when this time is exceeded by a configurable value.

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

[](#requirements)

- CakePHP 5.0
- PHP 8.1+

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

[](#installation)

You can install this plugin into your CakePHP application using [composer](https://getcomposer.org).

The recommended way to install composer package is:

```
composer require cakedc/queue-monitor

```

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

[](#configuration)

Add QueueMonitorPlugin to your application by running command:

```
bin/cake plugin load CakeDC/QueueMonitor
```

Run the required migrations

```
bin/cake migrations migrate -p CakeDC/QueueMonitor
```

Set up the QueueMonitor configuration in your `config/app_local.php`:

```
// ...
    'QueueMonitor' => [
        // With this setting you can enable or disable the queue monitoring, the queue
        // monitoring is enabled by default
        'disable' => false,

        // mailer config, the default is `default` mailer, you can ommit
        // this setting if you use default value
        'mailerConfig' => 'default',

        // the default is 30 minutes, you can ommit this setting if you use the default value
        'longJobInMinutes' => 30,

        // the default is 7 days, you can ommit this setting if you use the default value
        // its advised to set this value correctly after queue usage analysis to avoid
        // high space usage in db
        'purgeLogsOlderThanDays' => 7,

        // comma separated list of recipients of notification about long running queue jobs
        'notificationRecipients' => 'recipient1@yourdomain.com,recipient2@yourdomain.com,recipient3@yourdomain.com',
    ],
// ...
```

For each queue configuration add `listener` setting

```
// ...
    'Queue' => [
        'default' => [
            // ...
            'listener' => \CakeDC\QueueMonitor\Listener\QueueMonitorListener::class,
            // ...
        ]
    ],
// ...
```

Notification command
--------------------

[](#notification-command)

To set up notifications when there are jobs running for a long time or jobs that may be stuck and blocking the queue please use command:

```
bin/cake queue-monitor notify
```

This command will send notification emails to recipients specified in `QueueMonitor.notificationRecipients`. Best is to use it as a cronjob.

Test Enqueue command
--------------------

[](#test-enqueue-command)

To quickly test if all queues are running correctly please run this command (replace `your-email@domain.com` with working email address:

```
bin/cake queue-monitor test-enqueue your-email@domain.com
```

This command will send the command through all configured queues.

Purge queues command
--------------------

[](#purge-queues-command)

To purge the content of a specified queue you can use the purge queue command:

```
bin/cake queue-monitor purge-queue your-queue-name
```

The above command will remove all pending queue jobs from the specified queue.

To purge all queues you can use command:

```
bin/cake queue-monitor purge-queue --all
```

Purge Logs command
------------------

[](#purge-logs-command)

The logs table may grow overtime, to keep it slim you can use the purge command:

```
bin/cake queue-monitor purge-logs
```

This command will purge logs older than value specified in `QueueMonitor.purgeLogsOlderThanDays`, the value is in days, the default is 30 days. Best is to use it as a cronjob

Important
---------

[](#important)

Make sure your Job classes have a property value of maxAttempts because if it's missing, the log table can quickly grow to gigantic size in the event of an uncaught exception in Job, Job is re-queued indefinitely in such a case.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance58

Moderate activity, may be stable

Popularity27

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity57

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.

###  Release Activity

Cadence

Every ~60 days

Recently: every ~105 days

Total

11

Last Release

153d ago

Major Versions

1.0.0 → 2.0.02024-04-18

1.0.1 → 2.0.12024-05-14

1.0.5 → 2.0.22024-12-09

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/204531?v=4)[Cake Development Corporation](/maintainers/CakeDC)[@CakeDC](https://github.com/CakeDC)

---

Top Contributors

[![arusinowski](https://avatars.githubusercontent.com/u/1587389?v=4)](https://github.com/arusinowski "arusinowski (9 commits)")

---

Tags

cakephpmonitoringpluginqueuequeue-monitorcakephpqueuequeue monitorqueue monitoring

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[dereuromark/cakephp-queue

The Queue plugin for CakePHP provides deferred task execution.

308850.3k14](/packages/dereuromark-cakephp-queue)[ptrofimov/beanstalk_console

Admin console for Beanstalk queue server

1.3k124.7k](/packages/ptrofimov-beanstalk-console)[cakephp/queue

Queue plugin for CakePHP

36257.9k12](/packages/cakephp-queue)[robwilkerson/cakephp-audit-log-plugin

Audit Plugin for CakePHP

10167.8k](/packages/robwilkerson-cakephp-audit-log-plugin)[josegonzalez/cakephp-queuesadilla

CakePHP wrapper plugin around Queuesadilla, a generic php queueing backend

35496.8k7](/packages/josegonzalez-cakephp-queuesadilla)[lorenzo/cakephp-email-queue

Queue, preview and and send emails stored in the database

57121.5k1](/packages/lorenzo-cakephp-email-queue)

PHPackages © 2026

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