{% extends "base.html" %} {% block title %}Pool - specflo{% endblock %} {% block content %}

Products

Pool

{% if identity == "developer" %}

Agent definitions / Teams

{% endif %} {% if view is none and errors %}

The pool is off

The pool configuration on this daemon is not valid. Correct what follows, then run `specflo serve pool reload`.

{% elif view is none %}

{{ no_pool }}

{% else %} {% if errors %}

The pool directory has faults

The configuration in force is the last one that was valid. Correct what follows, then run `specflo serve pool reload`.

{% endif %}

Pools

{% for row in view.pools %} {% endfor %}
Pool Size Leases in use Waiting requests Idle default Idle max Preempt after Members
{{ row.pool.name }} {{ row.pool.size }} {{ row.in_use }} {{ row.waiting }} {{ limit(row.pool.idle_default) }} {{ limit(row.pool.idle_max) }} {{ limit(row.pool.preempt_after) or "never" }} {{ row.pool.members | join(", ") }}

Waiting requests

{% if view.waiting %} {% for request in view.waiting %} {% endfor %}
Request Holder Pool Team Arrived
{{ request.id }} {{ request.holder_label }} {{ request.pool or "" }} {{ request.team or "" }}
{% else %}

No request waits.

{% endif %}

Members

{% if not view.reload_data %}

reload data unavailable: the reader of llama-swap's events is down, so a reload of a leased member's model may be missing below.

{% endif %} {% for row in view.members %} {% endfor %}
Member Kind State Backing Model or account Egress class Leases of capacity Reloads
{{ row.member.name }} {{ row.member.kind }} {{ row.state }} {{ row.member.backing }} {{ row.runs_on }} {{ row.member.egress }} {{ row.in_use }} of {{ row.member.capacity }} {% if row.reloads %}{{ row.reloads | length }} - last {{ row.reloads[-1].model }} at {% else %}0{% endif %}

Leases

{% if view.leases %} {% if view.releases %}{% endif %} {% for row in view.leases %} {% if view.releases %} {% endif %} {% endfor %}
Lease Holder Pool Member Team lease Acquired State Idle Expires inRelease
{{ row.lease.id }} {{ row.lease.holder_label }} {{ row.lease.pool }} {{ row.lease.member }} {{ row.lease.team_lease_id or "" }} {{ row.lease.state }} {{ row.idle }} {{ row.to_expiry }}
{% else %}

No lease is out.

{% endif %}

Accounts

{% if view.accounts %} {% for row in view.accounts %} {% endfor %}
Account Cap Slots in use Usage Limit Remaining Open or closed Last read
{{ row.account.name }} {{ row.account.cap }} {{ row.in_use }} {{ amount(row.figures.usage) if row.figures else "" }} {{ amount(row.figures.limit) if row.figures else "" }} {{ amount(row.figures.remaining) if row.figures else "" }} {% if row.open %}open{% elif row.reopen %}closed until {{ row.reopen }}{% else %}closed, with no time set for it to reopen{% endif %} {% if row.figures %}{% if row.figures.read_error %} {{ row.figures.read_error }}{% endif %}{% else %}never{% endif %}
{% else %}

No account is declared.

{% endif %}

Standing entries

{% if view.standing %}

What the project agents take outside the pool. An entry ends when its project's agent does.

{% for entry in view.standing %} {% endfor %}
Entry Project Agent Takes
{{ entry.id }} {{ entry.project }} {{ entry.agent }} {% for resource in entry.resources %}{{ resource.kind }} {{ resource.name }}{% if not loop.last %}, {% endif %}{% endfor %}
{% else %}

No project agent takes a model or an account slot.

{% endif %}

Recent transitions

{% if view.transitions %} {% for transition in view.transitions %} {% endfor %}
Time Kind Lease Cause
{{ transition.kind }} {{ transition.lease_id }} {{ cause_shown(transition.cause) }}
{% else %}

Nothing has happened to a lease yet.

{% endif %}
{% endif %} {% endblock %}