{% extends "base.html" %} {% block content %}

Total Jobs Processed

{{ total_jobs_processed }}

{% if jobs_processed_change > 0 %} ↑ {{ jobs_processed_change }}% {% elif jobs_processed_change < 0 %} ↓ {{ jobs_processed_change|abs }}% {% else %} No change {% endif %} from previous period

Average Job Duration

{{ avg_job_duration }}

{% if avg_duration_change > 0 %} ↑ {{ avg_duration_change }}% {% elif avg_duration_change < 0 %} ↓ {{ avg_duration_change|abs }}% {% else %} No change {% endif %} from previous period

Active Workers

{{ active_workers }}

{% if active_workers_change > 0 %} ↑ {{ active_workers_change }} {% elif active_workers_change < 0 %} ↓ {{ active_workers_change|abs }} {% else %} No change {% endif %} from previous period

Failed Jobs Rate

{{ failed_jobs_rate }}%

{% if failed_rate_change > 0 %} ↑ {{ failed_rate_change }}% {% elif failed_rate_change < 0 %} ↓ {{ failed_rate_change|abs }}% {% else %} No change {% endif %} from previous period

Jobs Processed Over Time

Job Types Distribution

Queue Performance

{% for queue in queue_stats %} {% endfor %}
Queue Name Jobs Processed Avg. Duration Failed Rate Status
{{ queue.name }} {{ queue.jobs_processed }} {{ queue.avg_duration }} {{ queue.failed_rate }}% {% if queue.status == "paused" %} Paused {% else %} Active {% endif %}

Recent Failed Jobs

{% if recent_failed_jobs|length > 0 %} {% for job in recent_failed_jobs %} {% endfor %} {% else %} {% endif %}
Job ID Class Name Queue Failed At Error Actions
{{ job.id }} {{ job.class_name }} {{ job.queue_name }} {{ job.failed_at }}
{{ job.error|truncate(length=50) }} {{ job.error }}
Details
No failed jobs in the selected time period
{% if recent_failed_jobs|length > 0 %} {% endif %}
{% endblock %}