{% extends "base.html" %} {% import "macros.html" as m %} {% block title %}Runs - {{ pack.pack }}{% endblock %} {% block content %}

Pipeline runs

Last run

{% if report %}

{{ report.started_at }} to {{ report.finished_at }}, exit {{ report.exit_code }}, {{ report.facts_dropped }} fact(s) dropped. Options: {% for key, value in report.options.items() %}{{ key }}={{ value }}{% if not loop.last %}, {% endif %}{% endfor %}

{{ m.stage_strip(strip) }}
{% for stage in strip %} {% endfor %}
StageStatusSecondsCounts, reason or error
{{ stage.stage }} {{ stage.status }} {{ stage.seconds }} {{ stage | as_json | shorten(400) }}

Relocation review - every citation the last build did not resolve inside its own snapshot.

{% else %}

No pipeline report yet.

{% endif %} {% if job %}

Running job

Loading the job log...

{% endif %} {% if not read_only %}

Start a run

{% if catalogue_changed %}

The catalogue changed since this run directory was planned. The acquire stage would fail; plan a new run directory instead (start the console with --run-dir {{ pack.pack }}=DIR).

{% endif %}
download - the only option that makes network requests

This run would request {{ budget.targets }} target(s) from {{ budget.hosts | length }} host(s): {{ budget.hosts | join(', ') | shorten(400) }}.

Etiquette from the plan's crawl profiles: {% for name, limits in budget.profiles.items() %}{{ name }}: delay {{ limits.delay_seconds }}s, response cap {{ limits.max_response_bytes }} bytes, at most {{ limits.max_pages }} pages, {{ limits.max_requests }} requests, timeout {{ limits.request_timeout_seconds }}s{% if not loop.last %}; {% endif %}{% endfor %} {% if not budget.profiles %}no crawl profile in the catalogue{% endif %}

Confirmation is asked on every start; there is no "always allow".

{% if job %}a job is already running for this pack{% endif %}

{% endif %}

Run history

Kept under {{ pack.console_dir }}/runs/, because the pipeline overwrites pipeline-report.json.

{% for entry in history %} {% else %} {% endfor %}
StartedFinishedExitStagesOptions
{{ entry.started_at[:19] }} {{ entry.finished_at[:19] }} {{ entry.exit_code }} {% for stage in entry.stages %}{{ stage.stage }}:{{ stage.status }}{% if not loop.last %}, {% endif %}{% endfor %} {{ entry.options.stages }}{% if entry.options.download %}, download{% endif %}
No run has finished through the console yet.

Jobs

{% for entry in jobs %} {% else %} {% endfor %}
JobKindActorStatusStartedLog
{{ entry.job_id }} {{ entry.kind }} {{ entry.actor }} {{ entry.status }} {% if entry.error %}
{{ entry.error | shorten(120) }}
{% endif %}
{{ entry.started_at[:19] }} tail
No job started yet.
{% endblock %}