PHPackages                             nht/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. nht/queue-monitor

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

nht/queue-monitor
=================

NHT Queue Monitor is a modern, enterprise-grade queue monitoring package designed as a powerful alternative to Laravel Horizon. It provides deep insights into your queue system with a beautiful dark UI, real-time capabilities, and advanced diagnostics.

v1.2.4(1mo ago)017↓100%MITPHPPHP ^8.1

Since Apr 29Pushed 1mo agoCompare

[ Source](https://github.com/nazmulhasan1010/nht-queue-monitor)[ Packagist](https://packagist.org/packages/nht/queue-monitor)[ RSS](/packages/nht-queue-monitor/feed)WikiDiscussions master Synced 1w ago

READMEChangelogDependencies (4)Versions (16)Used By (0)

NHT Queue Monitor (Queue Pulse)
===============================

[](#nht-queue-monitor-queue-pulse)

[![Latest Version on Packagist](https://camo.githubusercontent.com/f309bcb6c96a6b54f331f9e21290aee5fa6b0affe8aa9bc29e42e51e16ca7365/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e68742f71756575652d6d6f6e69746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nht/queue-monitor)[![Total Downloads](https://camo.githubusercontent.com/ee662e7c1e39d0a4767988c878574f78d984a35e65cb775b0661c577a7366d82/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6e68742f71756575652d6d6f6e69746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nht/queue-monitor)[![License](https://camo.githubusercontent.com/aa7bb197038bb9a183dda2c447bcc3f2590a6eb19a41df4bf8a491a78f1ac4d0/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6e68742f71756575652d6d6f6e69746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nht/queue-monitor)

NHT Queue Monitor is a modern, enterprise-grade queue monitoring package for Laravel. Designed as a powerful alternative to Laravel Horizon, it provides deep insights into your queue system with a beautiful dark UI, real-time capabilities, and advanced diagnostics.

🚀 Features
----------

[](#-features)

- **Comprehensive Dashboard**: Real-time metrics and failure charts.
- **Failed Job Management**:
    - **AI-Powered Failure Insight**: Get automatic root-cause analysis for failed jobs using OpenAI or Anthropic.
    - **Payload Editor on Retry**: Modify job parameters directly from the UI before retrying a job.
    - **Job Batch &amp; Chain Flow**: Visualize relationships between jobs in the same batch or chain.
    - Detailed payload and exception viewer.
    - Single/Bulk Retry and Delete actions.
    - Clear all functionality with premium dark-themed confirmation modals.
- **Advanced Filtering**: Grid-based filtering by date, queue, connection, and keyword search.
- **Smart Tracking**:
    - Track both successful and failed jobs.
    - Customizable data retention (pruning).
- **Advanced Alerting**:
    - Threshold-based alerts (e.g., alert if &gt;20 failures in 1h).
    - Multi-channel notifications (Mail, Slack).
- **Security &amp; Access Control**:
    - Email-based allowlist.
    - Integrated Laravel Gate support.
- **Enterprise Ready**:
    - Multi-tenant support.
    - Real-time broadcasting (Reverb, Pusher, Soketi).
    - CSV/Export capabilities.
    - Audit logs for all monitor actions.

📦 Installation
--------------

[](#-installation)

```
composer require nht/queue-monitor
```

### Finalize Installation

[](#finalize-installation)

Run the following commands to publish assets and migrate:

```
php artisan nht-queue-monitor:published --force
php artisan migrate
```

### Uninstallation

[](#uninstallation)

If you need to remove the package and its assets:

```
php artisan nht-queue-monitor:remove
```

⚙️ Configuration
----------------

[](#️-configuration)

The package can be configured entirely via environment variables in your `.env` file.

VariableDefaultDescription`QUEUE_MONITOR_ENABLED``true`Enable/Disable the monitor.`QUEUE_MONITOR_AI_ENABLED``false`Enable AI-powered failure analysis.`QUEUE_MONITOR_AI_PROVIDER``openai`AI provider (`openai` or `anthropic`).`QUEUE_MONITOR_AI_KEY``null`Your AI provider API key.`QUEUE_MONITOR_ROUTE_PREFIX``queue-monitor`URL path for the dashboard.`QUEUE_MONITOR_ALLOWED_EMAILS``null`Comma-separated emails for access.`QUEUE_MONITOR_ENABLE_GATE``false`Enable Laravel Gate protection.`QUEUE_MONITOR_TRACK_SUCCESSFUL_JOBS``false`Log successful jobs to DB.`QUEUE_MONITOR_STORE_JOB_PAYLOAD``false`Save full payload for all jobs.`QUEUE_MONITOR_JOB_RETENTION_DAYS``30`Auto-delete records older than X days.`QUEUE_MONITOR_ALERTS_ENABLED``true`Enable threshold-based alerting.`QUEUE_MONITOR_NOTIFICATIONS_ENABLED``false`Enable Slack/Mail notifications.`QUEUE_MONITOR_BROADCAST_ENABLED``false`Enable real-time UI updates.🛡️ Security
-----------

[](#️-security)

### Email Access

[](#email-access)

Add specific users who can access the dashboard:

```
QUEUE_MONITOR_ALLOWED_EMAILS=admin@example.com,dev@nht.com
```

### Laravel Gate

[](#laravel-gate)

For complex authorization, enable the Gate in `.env`:

```
QUEUE_MONITOR_ENABLE_GATE=true
```

Then define the `viewQueueMonitor` gate in your `AuthServiceProvider`:

```
Gate::define('viewQueueMonitor', function ($user) {
    return $user->isAdmin();
});
```

⏰ Scheduling &amp; Maintenance
------------------------------

[](#-scheduling--maintenance)

To keep your dashboard clean and receive alerts, add these to your `app/Console/Kernel.php` (or `routes/console.php` in Laravel 11+):

```
// Check for alert thresholds every 5 minutes
$schedule->command('queue-monitor:check-alerts')->everyFiveMinutes();

// Run health checks every 10 minutes
$schedule->command('queue-monitor:health')->everyTenMinutes();

// Prune old data daily
$schedule->command('queue-monitor:prune')->daily();
```

📊 Usage
-------

[](#-usage)

Once installed, visit `/queue-monitor` in your browser.

- **Dashboard**: High-level overview of your queue health.
- **Failed Jobs**: The core workstation for inspecting and resolving issues.
- **Audit Logs**: See who retried or deleted which job and when.
- **System**: Detailed diagnostics of your worker nodes.

🤖 AI Failure Analysis
---------------------

[](#-ai-failure-analysis)

Queue Pulse integrates with OpenAI and Anthropic to provide intelligent insights into your failed jobs.

### Setup

[](#setup)

1. Enable the feature in your `.env`:

```
QUEUE_MONITOR_AI_ENABLED=true
QUEUE_MONITOR_AI_PROVIDER=openai # or anthropic
QUEUE_MONITOR_AI_KEY=your-api-key-here
```

2. (Optional) Customize the model:

```
QUEUE_MONITOR_AI_MODEL=gpt-4o-mini
```

### How to Use

[](#how-to-use)

1. Navigate to the **Failed Jobs** list.
2. Click **View** on any failed job.
3. Click the **AI Analysis** button in the header.
4. The system will send the job name, exception, and payload to the AI to generate a root-cause analysis and a suggested fix.

🛠️ Payload Editor (Edit &amp; Retry)
------------------------------------

[](#️-payload-editor-edit--retry)

Sometimes a job fails because of a typo or missing data. You can fix it without leaving the dashboard:

1. Click **View** on a failed job.
2. Click **Edit &amp; Retry** in the header.
3. Modify the JSON payload in the modal.
4. Click **Update &amp; Retry Now**.

The job will be updated in the database and immediately pushed back to the queue with your new data.

🔌 API Reference
---------------

[](#-api-reference)

Queue Pulse provides a lightweight JSON API for external integrations or custom dashboards.

### Live Feed

[](#live-feed)

Returns the latest failed jobs and monitor events.

- **Endpoint**: `GET /queue-monitor/api/live`
- **Response**:

```
{
  "failed_jobs": [...],
  "events": [...]
}
```

### Failure Trends

[](#failure-trends)

Returns data for generating charts.

- **Endpoint**: `GET /queue-monitor/api/trend?days=7`
- **Parameters**:
    - `days` (optional): Number of days to include (default: 7).
- **Response**:

```
{
  "labels": ["2026-04-25", "2026-04-26", ...],
  "values": [5, 12, ...]
}
```

🤝 Contributing
--------------

[](#-contributing)

Contributions are welcome! Please feel free to submit Pull Requests.

📜 License
---------

[](#-license)

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

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance93

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity50

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 ~0 days

Total

15

Last Release

35d ago

### Community

Maintainers

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

---

Top Contributors

[![nazmulhasan1010](https://avatars.githubusercontent.com/u/70843973?v=4)](https://github.com/nazmulhasan1010 "nazmulhasan1010 (16 commits)")

---

Tags

laravelpackagequeuequeue monitor

### Embed Badge

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

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

###  Alternatives

[larastan/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

6.4k51.0M7.4k](/packages/larastan-larastan)[psalm/plugin-laravel

Psalm plugin for Laravel

3325.1M337](/packages/psalm-plugin-laravel)[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.5k28.4M134](/packages/laravel-cashier)[laravel/ai

The official AI SDK for Laravel.

9782.1M153](/packages/laravel-ai)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

76318.2M110](/packages/laravel-mcp)[illuminate/queue

The Illuminate Queue package.

20432.2M1.5k](/packages/illuminate-queue)

PHPackages © 2026

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