{# The system page's engine-info block — cards + per-check table. A partial so the page's ~10s poll (?fragment=1, shared poll.js) can re-fetch and swap it without re-sending the header (mirrors _status_grid.html). #} {% if info is none %}
The engine is not running.
{% else %}| Check | Type | Frequency | Running | Next run | Last run | Declared |
|---|---|---|---|---|---|---|
| {{ c.path }} | {{ c.type_name }} | {{ c.frequency_seconds | duration }} | {% if c.running_since %} {{ c.running_since | localtime("%H:%M:%S") }} · {{ c.running_seconds | elapsed }} {% elif c.running %} queued {% endif %} | {{ c.next_run_at | localtime("%H:%M:%S") }} · in {{ c.next_in_seconds | elapsed }}{% if c.retrying %} · retry {{ c.retry_attempt }}/{{ c.retry_attempts }}{% endif %} | {% if c.last_run_at %} {{ c.last_run_at | localtime("%H:%M:%S") }} · {{ c.elapsed_seconds | elapsed }} {% else %} — {% endif %} | {# The type's own estimate, beside the run it is an estimate of. A type that will not estimate says nothing, and the cell is empty rather than zero — nothing declared is not the same claim as nothing spent. #}{% if c.expected_cost is not none %}{{ c.expected_cost | elapsed }}{% endif %} {%- if c.expected_cost is not none and c.expected_entries is not none %} · {% endif %} {%- if c.expected_entries is not none %}{{ "{:,}".format(c.expected_entries) }} entries{% endif %} {%- if c.expected_cost is none and c.expected_entries is none %}—{% endif %} |
| No checks. | ||||||