{% extends "admin/jobs/base.html" %} {% from "admin/jobs/macros.html" import timestamp, paging with context %} {% block jobs_filters %}
{% endblock %} {% block jobs_content %}| Worker / PID | Status | Queues | Active / Slots | Succeeded | Failed | Last heartbeat | Started / Stopped |
|---|---|---|---|---|---|---|---|
| {{ worker.hostname }}PID {{ worker.pid }}{% if perms.jobs.view_task %} ยท View tasks{% endif %} | {{ 'Online' if item.online else 'Offline' }} | {% for queue in worker.queues %}{{ queue }}{% endfor %} | {{ item.active }} / {{ worker.concurrency }} | {{ item.stats.get('SUCCESS', 0) }} | {{ item.stats.get('FAILURE', 0) }} | {{ timestamp(worker.heartbeat_at) }} | {{ timestamp(worker.started_at) }}{% if worker.stopped_at %}Stopped {{ worker.stopped_at | format_datetime('%H:%M:%S') }}{% endif %} |
No workers match these filters Workers appear here when they start, even before receiving a task. | |||||||
Task counts reflect retained jobs. An offline worker may still have an expired task awaiting recovery.
{% endblock %}