{% extends "admin/change_form.html" %} {% load i18n static %} {% block bodyclass %}{{ block.super }} django-ray-execution-change{% endblock %} {% block extrastyle %} {{ block.super }} {% if django_ray_observability_url %} {% endif %} {% endblock %} {% block extrahead %} {{ block.super }} {% if django_ray_observability_url %} {% endif %} {% if django_ray_workflow_diagnostics_url %} {% endif %} {% endblock %} {% block object-tools %} {% if django_ray_admin_uses_unfold or has_absolute_url or django_ray_sensitive_data_url %} {{ block.super }} {% endif %} {% endblock %} {% block object-tools-items %} {% if django_ray_admin_uses_unfold %} {# Unfold honors show_history=False and retains its configured view-on-site tool. #} {{ block.super }} {% elif has_absolute_url %}
  • {% translate "View on site" %}
  • {% endif %} {% if django_ray_sensitive_data_url %}
  • Sensitive data
  • {% endif %} {% endblock %} {% block after_field_sets %} {{ block.super }} {% if django_ray_retry_guidance %}

    Task actions

    {{ django_ray_retry_guidance }}

    {% if django_ray_retry_available %} {% endif %}
    {% endif %} {% if django_ray_observability_url %}

    Live task status

    Waiting for the first durable status update.

    State
    {{ original.state }}
    Attempt
    {{ original.attempt_number }}
    Workflow
    No workflow progress available.
    {% if django_ray_workflow_diagnostics_url %} {% with workflow_attempt=original.attempt_number|urlencode %}
    Workflow execution Plan, strategy, and bounded progress

    Open this section to load workflow diagnostics.

    Attempt execution graphs

    Attempts are ordered from oldest to newest. Open any attempt to load its exact bounded graph.

    {% for attempt_number in django_ray_archived_workflow_attempts %} {% with attempt=attempt_number|urlencode current_attempt=original.attempt_number|urlencode %}
    Execution graph — Attempt {{ attempt }} (failed) Archived failure. Open to load this exact attempt. Pinned to attempt {{ attempt }}.

    Attempt {{ attempt }}. Open this panel to load its bounded archived graph. This panel never follows a newer run.

    {% endwith %} {% endfor %} {% if django_ray_archived_workflow_attempts_truncated %}

    Additional failed attempts were not rendered because the Admin reached its fixed {{ django_ray_archived_workflow_attempts_limit }}-panel safety limit.

    {% endif %} {% if django_ray_archived_workflow_attempts_history_omitted %}

    Older attempts are not embedded in this bounded page. Open the paginated attempt list for their exact bounded details.

    {% endif %}
    {% endwith %} {% endif %}
    {% endif %} {% if django_ray_attempt_history_total %}

    Attempt history: {% if django_ray_attempt_history_omitted %} Showing the newest {{ django_ray_attempt_history_shown }} of {{ django_ray_attempt_history_total }} attempts; the {{ django_ray_attempt_history_omitted }} older attempt{{ django_ray_attempt_history_omitted|pluralize }} are omitted from this page. {% else %} Showing all {{ django_ray_attempt_history_total }} attempt{{ django_ray_attempt_history_total|pluralize }}, newest first. {% endif %} Open the paginated attempt list for exact bounded details.

    {% endif %} {% endblock %}