{% extends "base.html" %} {% block title %}Pool - specflo{% endblock %} {% block content %}
The pool configuration on this daemon is not valid. Correct what follows, then run `specflo serve pool reload`.
{{ no_pool }}
{% else %} {% if errors %}The configuration in force is the last one that was valid. Correct what follows, then run `specflo serve pool reload`.
| 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(", ") }} |
| Request | Holder | Pool | Team | Arrived |
|---|---|---|---|---|
| {{ request.id }} | {{ request.holder_label }} | {{ request.pool or "" }} | {{ request.team or "" }} |
No request waits.
{% endif %}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 %}| 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 %} |
| Lease | Holder | Pool | Member | Team lease | Acquired | State | Idle | Expires in | {% if view.releases %}Release | {% endif %}
|---|---|---|---|---|---|---|---|---|---|
| {{ 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 }} | {% if view.releases %}{% endif %} |
No lease is out.
{% endif %}| 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 %} |
No account is declared.
{% endif %}What the project agents take outside the pool. An entry ends when its project's agent does.
| 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 %} |
No project agent takes a model or an account slot.
{% endif %}| Time | Kind | Lease | Cause |
|---|---|---|---|
| {{ transition.kind }} | {{ transition.lease_id }} | {{ cause_shown(transition.cause) }} |
Nothing has happened to a lease yet.
{% endif %}