Skip to content

Queue Collector ​

Captures message queue operations — dispatched messages, processing status, failures, and duplicate detection.

Queue Collector panel

What It Captures ​

FieldDescription
pushesMessages pushed to queues, grouped by queue name
statusesMessage status updates (ID and status)
processingMessagesMessages currently being processed
messagesDispatched/handled messages with metadata
messageCountTotal message count
failedCountNumber of failed messages

Data Schema ​

json
{
    "pushes": {
        "default": [...]
    },
    "statuses": [
        {"id": "msg-1", "status": "handled"}
    ],
    "processingMessages": {},
    "messages": [...],
    "messageCount": 3,
    "failedCount": 0,
    "duplicates": {
        "groups": [],
        "totalDuplicatedCount": 0
    }
}

Summary (shown in debug entry list):

json
{
    "queue": {
        "countPushes": 2,
        "countStatuses": 1,
        "countProcessingMessages": 0,
        "messageCount": 3,
        "failedCount": 0,
        "duplicateGroups": 0,
        "totalDuplicatedCount": 0
    }
}

Contract ​

php
use AppDevPanel\Kernel\Collector\QueueCollector;
use AppDevPanel\Kernel\Collector\MessageRecord;

// Log a dispatched/handled message
$collector->logMessage(new MessageRecord(
    class: 'App\\Message\\SendNotification',
    status: 'dispatched',
    queue: 'default',
    handlerClass: 'App\\Handler\\NotificationHandler',
));

// Or use individual methods
$collector->collectPush(queueName: 'default', message: $message);
$collector->collectStatus(id: 'msg-1', status: 'handled');

How It Works ​

Framework adapters intercept message bus/queue operations:

  • Symfony: Messenger middleware and event listeners
  • Laravel: Queue event listeners (JobProcessing, JobProcessed, JobFailed)
  • Yii 3: Queue proxy decorator

Debug Panel ​

  • Message list — all dispatched and handled messages with status
  • Queue grouping — messages grouped by queue name
  • Status badges — dispatched (blue), handled (green), failed (red)
  • Duplicate detection — highlights repeated identical messages

Released under the MIT License.