ErrTapDocs

Queue Monitoring

See Laravel queue depth, job lifecycles with CPU and memory, failures and stuck unique-job locks on the ErrTap Queues page, and optionally pause, resume or clear queues from the dashboard.

The Queues page shows what your Laravel queue workers are doing. It's fed by the errtap/laravel SDK, which is on by default once the package is installed and ERRTAP_DSN is set.

What you see

SectionContents
QueuesDepth of each queue a worker serves: pending, delayed, running and the oldest wait, plus the first jobs in line (Redis and database drivers)
Job classes · 24hPer job class: runs, failures, and duration, CPU time and peak memory
Recent jobs / Recent failuresEach job's lifecycle: queued, started, released, processed, failed or timed out, with wait time and duration. Open a run for its details
Unique locksHeld ShouldBeUnique locks (Redis and database cache stores). Locks that no queued or running job explains are flagged as stuck
Reporting hostsThe workers currently sending data
CommandsQueue commands sent from the dashboard and their results (when queue control is on)

Peak memory per job needs PHP 8.2 or later.

How data gets here

Workers batch lifecycle events and send them from the worker loop every few seconds, never once per job. Depth snapshots are taken every ERRTAP_QUEUE_SNAPSHOT_SECONDS (default 10). Queue telemetry does not count toward your monthly event quota. Job runs are kept for your plan's retention window; depth snapshots for 7 days and queue commands for 30 days.

To report only a share of successful jobs on a busy fleet, set ERRTAP_QUEUE_SAMPLE_RATE (for example 0.1). Failures, timeouts and unique-job dispatches are always reported.

To snapshot queues that no local worker serves, list them in ERRTAP_QUEUES, for example redis:emails,default.

Queue control

Queue control is off by default. When you turn it on, owners and admins can:

  • Pause and resume a queue (needs a Laravel version with Queue::pause()).
  • Clear a queue (drivers that implement ClearableQueue: Redis, database, SQS, Beanstalkd).
  • Move a waiting job to the front (Redis driver). Delayed jobs can be run next.
  • Release a unique-job lock that nothing holds any more.
ERRTAP_QUEUE_CONTROL=true
ERRTAP_QUEUE_CONTROL_TOKEN=<upload-token>   # Project settings → Upload tokens

Workers poll ErrTap for commands every few seconds, so ErrTap never connects into your network. The command channel authenticates with an upload token, not the public DSN, and the dashboard only offers Release for locks reported over that channel. Every command is recorded in the organization's audit log.

Turning it off

Set ERRTAP_QUEUE_MONITOR=false to stop sending queue diagnostics. Exception reporting and logs are unaffected.