Marketplace

queue-dashboard

Infrastructure

togo queue dashboard — monitor jobs, retries, failures & throughput

togo-framework
bash
togo install togo-framework/queue-dashboard

Install

bash
togo install togo-framework/queue-dashboard

Observe the togo queue: track every job's lifecycle (queued → running → done/failed/retried), aggregate throughput, latency and failure stats per queue, and retry or delete failed jobs — over a REST + Go API.

How it works

The togo Queue interface is Handle/Dispatch only, so the dashboard observes jobs by wrapping their handlers. Wrapped handlers record start/finish, duration and errors automatically.

Usage

go
import (
	queuedashboard "github.com/togo-framework/queue-dashboard"
	"github.com/togo-framework/togo"
)

func register(k *togo.Kernel) {
	qd, _ := queuedashboard.FromKernel(k)

	// Wrap handlers so jobs are tracked.
	k.Queue.Handle("emails", qd.Wrap("emails", "send", sendEmail))

	// (optional) record an enqueue for queued-depth visibility:
	id := qd.RecordDispatch("emails", "send", payload)
	_ = id
}

Inspect from Go:

go
qd.Jobs(queuedashboard.Filter{Queue: "emails", Status: queuedashboard.StatusFailed, Limit: 50})
qd.Stats()                       // []QueueStat{total, done, failed, failure_rate, avg_ms, ...}
qd.Retry(ctx, jobID)             // re-dispatch a failed job
qd.Delete(jobID)

REST API

Method
Path
Purpose
GET/api/queue-dashboard/jobs?queue=&type=&status=&limit=list recorded jobs
GET/api/queue-dashboard/statsper-queue health (throughput, failure rate, avg ms)
GET/api/queue-dashboard/dashboardstats + recent jobs (one call)
POST/api/queue-dashboard/jobs/{id}/retryre-dispatch a job
DELETE/api/queue-dashboard/jobs/{id}remove a recorded job
Rows per page
1–5 of 5
Page 1 of 1

Configuration

No required env. Records are kept in a bounded in-memory ring (newest 2000) with a pluggable store interface for a DB-backed implementation. Pairs with togo install togo-framework/queue + a worker.


<div align="center"> <h3>Premium sponsors</h3> <p> <a href="https://id8media.com"><strong>ID8 Media</strong></a> &nbsp;·&nbsp; <a href="https://one-studio.co"><strong>One Studio</strong></a> </p> <p><sub>Support togo — <a href="https://github.com/sponsors/fadymondy">become a sponsor</a>.</sub></p> </div>