RQ Dashboard Alternative: z4j vs. RQ Dashboard for Python RQ Monitoring
The simple web view for RQ.
- Scope
- RQ only
- Positioning
- Lightweight viewer with basic requeue
- License
- MIT, open source
Credit where it's due
Reasons to choose z4j over RQ Dashboard
Persistent history beyond Redis TTL
RQ keeps job records in Redis with a TTL. RQ Dashboard only sees what is still in Redis. z4j stores task records in its database, so retained failures remain searchable after the corresponding Redis record expires.
Real bulk actions
RQ Dashboard requeues failed jobs one at a time. z4j has bulk retry with filters (queue, task name, time window, error class) so cleaning up a backlog is one click instead of clicking through pages.
Multi-tenant project scoping with RBAC
RQ Dashboard shows everything on the connected Redis. z4j has per-project scoping with Admin / Operator / Viewer roles, so you can run one z4j for the whole company without leaking queues across teams.
Schedule management
RQ does not include scheduling. Most teams add rq-scheduler separately and end up running it without a dashboard. z4j's z4j-rqscheduler adapter exposes the scheduler in the same UI as the queue.
Tamper-evident audit log
Every privileged action and config change in z4j is HMAC-chained, so the answer to who requeued the failed payment job at 2am is a query rather than a Slack archaeology session.
One dashboard for RQ and everything else
If your stack already has Celery or Dramatiq alongside RQ, or you add them later, z4j shows them in one UI and audit surface. Controls remain capability-aware, so each adapter exposes only the actions it can execute safely.
Notifications across email, Slack, Telegram, webhook
RQ Dashboard does not push alerts. z4j has per-subscription notifications with cooldown, mute, and SSRF-hardened webhook delivery, so on-call gets paged when a job fails or a worker drops off. Queue depth is exported as a Prometheus gauge for your existing alerting to threshold.
Secret redaction is on by default
RQ Dashboard renders raw job arguments. z4j scrubs values that match credential patterns (password, token, secret, api_key, authorization) before they hit the dashboard or audit log.
z4j vs. RQ Dashboard, feature by feature
| Capability | RQ Dashboard | z4j |
|---|---|---|
| Engine coverage | RQ only | Celery, RQ, Dramatiq, Huey, arq, taskiq |
| Persistent history | Only what RQ keeps in Redis (TTL-bound) | Database-backed retained task history |
| Retry / cancel actions | Requeue failed only | Retry, cancel, bulk-retry, requeue-DLQ |
| Multi-queue across projects | All queues on one Redis | Per-project scoping with RBAC |
| Schedule management | Not included (needs rq-scheduler separately) | Integrated via z4j-rqscheduler adapter |
| RBAC / multi-user | Basic-auth or none | Admin / Operator / Viewer |
| Audit log | None | HMAC-chained, tamper-evident |
| Historical trends | None | Success, failure, runtime over time |
| Visual DAG / workflow graph | None | Tidy-tree SVG layout |
| Secret redaction | Raw args visible | Recursive scrubber + per-task overrides |
| Real-time updates | Poll-based refresh | Session-authenticated dashboard WebSocket |
Cut over from RQ Dashboard in a week (or a weekend)
- 1
Run both side-by-side
Both tools read from Redis. There is no conflict running them in parallel. Leave RQ Dashboard up while you validate z4j.
- 2
Install z4j-rq alongside your worker
The RQ adapter instruments job lifecycle without monkey-patching. Your existing workers keep running unchanged.
- 3
Point at the same Redis
z4j picks up the same queues, jobs, and workers RQ Dashboard shows. You gain persistent history from the moment z4j starts recording.
- 4
Switch off RQ Dashboard once z4j covers your workflow
Keep the docker-compose entry for emergency fallback. Most teams never re-enable it.
z4j vs. RQ Dashboard: FAQ
Is z4j a drop-in replacement for RQ Dashboard?
z4j observes the same Redis that RQ Dashboard reads from, plus the worker process via the z4j-rq adapter. You can run both side by side during the cut-over and turn RQ Dashboard off when you are ready. There is no data migration step.
Does z4j work with rq-scheduler?
Yes. The z4j-rqscheduler adapter detects scheduled jobs and exposes them in the dashboard alongside the live queue. RQ Dashboard does not include scheduling, so this is a strict upgrade if you were running rq-scheduler separately.
How is z4j licensed?
Split licensing. z4j (server, dashboard, API) is AGPL-3.0-or-later. The adapters that ship inside your worker process are Apache 2.0, so importing z4j-rq into a commercial project does not change anything about your application's license. RQ Dashboard is MIT.
Can I self-host z4j?
Yes. Self-hosting is the only deployment model. There is no SaaS option. Three install paths: pip plus SQLite for evaluation, Docker plus SQLite for small teams, Docker plus Postgres for production.
Does z4j support engines other than RQ?
Yes. Celery, Dramatiq, Huey, arq, and taskiq all feed the unified dashboard and audit surface. Task controls are capability-aware: retry, cancel, bulk, and queue controls appear only where the connected adapter can execute them safely.
What is the performance overhead compared to RQ Dashboard?
RQ Dashboard polls Redis when you load a page. z4j runs an agent in the worker and persists structured events in its database. Their overhead depends on event volume, Redis and database sizing, retention, and dashboard use, so benchmark the workload and topology you plan to operate.
Can I keep using RQ Dashboard for some queues and z4j for others?
Both tools read the same Redis without conflict, so technically yes. Most teams find that running one dashboard is simpler than maintaining two. The honest answer is that if z4j covers your workflow, retiring RQ Dashboard is the lower-maintenance choice.
Where we don't win
RQ Dashboard is a much smaller tool than z4j. If you only use RQ and never need audit trails, bulk actions, or multi-project scoping, it is simpler to operate.
z4j's value grows with scale. A single developer on a single queue may not need it.
Compared to other dashboards
Try z4j alongside RQ Dashboard, no migration required
Run both for a week. Compare. Decide.