{% extends "admin/base_site.html" %} {% load i18n admin_urls %} {% block bodyclass %}{{ block.super }} app-{{ opts.app_label }} model-{{ opts.model_name }}{% endblock %} {% block breadcrumbs %} {% endblock %} {% block content %}

As of {{ as_of|date:"Y-m-d H:i:s T" }}.

{% if rows %} {% url opts|admin_urlname:'changelist' as changelist_url %}
{% for row in rows %} {% endfor %}
Queue Ready Eligible ready Running Waiting Failed Successful Lost Discarded Oldest eligible age Throughput/min Failure rate Last claim age
{{ row.queue_name }} {{ row.ready }} {{ row.eligible_ready }} {{ row.running }} {{ row.waiting }} {{ row.failed }} {{ row.successful }} {{ row.lost }} {{ row.discarded }} {{ row.oldest_age }} {{ row.throughput }} {{ row.failure_rate }} {{ row.last_claim_age }}
{% else %}

No queues have task rows.

{% endif %}

Throughput and failure rate cover the trailing five minutes. Status totals are retained task rows rather than lifetime totals; Ready includes deferred tasks. This page scans retained rows, so its cost grows with retention. It does not refresh automatically. Last claim age records claim activity, not proof that a worker is alive.

{% endblock %}