{# 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 %}
Started
{{ info.started_at | localtime }}
Uptime
{{ info.uptime_seconds | elapsed }}
Worker threads
{{ info.max_workers }}
Checks
{{ info.check_count }}
Currently running
{{ info.running }}
{# What the configuration declared, beside what the process is doing (ADR-0075). The declared figures are what startup measured the configuration against; the entries held is the count the engine's own `entries` line watches. A declaration that has drifted from the measurement is only visible if both are shown. #}
Declared load
{{ "%.1f"|format(info.declared_workers) }} of {{ info.max_workers }} worker threads
Entries held
{{ "{:,}".format(info.entries_held) }} of {{ "{:,}".format(info.entry_limit) }}{% if info.declared_entries %} · {{ "{:,}".format(info.declared_entries) }} declared{% endif %}
{# The three schedule columns share one shape: a time of day (the configured timezone; the Started card anchors the date) plus a muted interval. Every interval on this page goes through `elapsed` (`little_sister.spans.format_span`) rather than being formatted where it is shown — which is how a quarter-hour wait came to read `in 812s` beside a two-minute run reading `115 s`. #} {% for c in info.checks %} {# 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. #} {% else %} {% endfor %}
CheckTypeFrequencyRunningNext runLast runDeclared
{{ 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 %} {% 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.
{% endif %}