This is an automated email from the ASF dual-hosted git repository.

jscheffl pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 12c7dd429c4 [Edge]Worker UI link beautification (#43869)
12c7dd429c4 is described below

commit 12c7dd429c467dbf0c0549fe1ddfc4af3d1d9e1e
Author: majorosdonat <[email protected]>
AuthorDate: Mon Nov 11 09:30:17 2024 +0100

    [Edge]Worker UI link beautification (#43869)
    
    * links are easier to find for running and queued tasks on for edge worker
    
    * Check for unknown state before checking last heartbeat
    
    ---------
    
    Co-authored-by: Majoros Donat (XC-DX/EET2-Bp) <[email protected]>
---
 providers/src/airflow/providers/edge/CHANGELOG.rst         |  8 ++++++++
 providers/src/airflow/providers/edge/__init__.py           |  2 +-
 .../edge/plugins/templates/edge_worker_hosts.html          | 12 ++++++++----
 .../providers/edge/plugins/templates/edge_worker_jobs.html | 14 ++++++++++----
 providers/src/airflow/providers/edge/provider.yaml         |  2 +-
 5 files changed, 28 insertions(+), 10 deletions(-)

diff --git a/providers/src/airflow/providers/edge/CHANGELOG.rst 
b/providers/src/airflow/providers/edge/CHANGELOG.rst
index dcf7c9f1643..ae77d32b7ee 100644
--- a/providers/src/airflow/providers/edge/CHANGELOG.rst
+++ b/providers/src/airflow/providers/edge/CHANGELOG.rst
@@ -27,6 +27,14 @@
 Changelog
 ---------
 
+0.5.3pre0
+.........
+
+Misc
+~~~~
+
+* ``Adding some links to host and job overview pages.``
+
 0.5.2pre0
 .........
 
diff --git a/providers/src/airflow/providers/edge/__init__.py 
b/providers/src/airflow/providers/edge/__init__.py
index 9b8dfc957ca..2998b9d6a90 100644
--- a/providers/src/airflow/providers/edge/__init__.py
+++ b/providers/src/airflow/providers/edge/__init__.py
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
 
 __all__ = ["__version__"]
 
-__version__ = "0.5.2pre0"
+__version__ = "0.5.3pre0"
 
 if 
packaging.version.parse(packaging.version.parse(airflow_version).base_version) 
< packaging.version.parse(
     "2.10.0"
diff --git 
a/providers/src/airflow/providers/edge/plugins/templates/edge_worker_hosts.html 
b/providers/src/airflow/providers/edge/plugins/templates/edge_worker_hosts.html
index 8feb9a526f7..4d9c0c3fc68 100644
--- 
a/providers/src/airflow/providers/edge/plugins/templates/edge_worker_hosts.html
+++ 
b/providers/src/airflow/providers/edge/plugins/templates/edge_worker_hosts.html
@@ -50,6 +50,8 @@
             <td>
               {%- if host.state == "offline" -%}
                 <span class="label" style="color:white; 
background-color:black;" title="Current State: {{ host.state }}">{{ host.state 
}}</span>
+              {%- elif host.state == "unknown" -%}
+                <span class="label" style="color:white; background-color:red;" 
title="Current State: {{ host.state }}">{{ host.state }}</span>
               {%- elif host.last_update.timestamp() <= 
five_min_ago.timestamp() -%}
                 Reported <span class="label" style="color:white; 
background-color:red;" title="Current State: {{ host.state }}">{{ host.state 
}}</span>
                 but no heartbeat
@@ -61,8 +63,6 @@
                 <span class="label" style="color:black; 
background-color:gray;" title="Current State: {{ host.state }}">{{ host.state 
}}</span>
               {%- elif host.state == "terminating" -%}
                 <span class="label" style="color:black; 
background-color:violet;" title="Current State: {{ host.state }}">{{ host.state 
}}</span>
-              {%- elif host.state == "unknown" -%}
-                <span class="label" style="color:white; background-color:red;" 
title="Current State: {{ host.state }}">{{ host.state }}</span>
               {%- else -%}
                 <span class="label" style="color:white; 
background-color:hotpink;" title="Current State: {{ host.state }}">{{ 
host.state }}</span>
               {%- endif -%}
@@ -71,7 +71,9 @@
               {% if host.queues %}
                 <ul>
                   {% for item in host.queues %}
-                    <li>{{ item }}</li>
+                    <li>
+                      <a 
href="../taskinstance/list/?_flt_7_state=success&_flt_7_state=failed&_flt_3_queue={{
 item }}#"">{{ item }}</a>
+                    </li>
                   {% endfor %}
                 </ul>
               {% else %}
@@ -80,7 +82,9 @@
             </td>
             <td><time datetime="{{ host.first_online }}">{{ host.first_online 
}}</time></td>
             <td>{% if host.last_update %}<time datetime="{{ host.last_update 
}}">{{ host.last_update }}</time>{% endif %}</td>
-            <td>{{ host.jobs_active }}</td>
+            <td>
+              <a href="../taskinstance/list/?_flt_3_hostname={{ 
host.worker_name }}&_flt_7_state=success&_flt_7_state=failed#">{{ 
host.jobs_active }}</a>
+            </td>
             <!-- Stats are not collected (yet) leave the columns out until 
available
               <td>{{ host.jobs_taken }}</td>
               <td>{{ host.jobs_success }}</td>
diff --git 
a/providers/src/airflow/providers/edge/plugins/templates/edge_worker_jobs.html 
b/providers/src/airflow/providers/edge/plugins/templates/edge_worker_jobs.html
index a73e0f1d485..86c2eb01391 100644
--- 
a/providers/src/airflow/providers/edge/plugins/templates/edge_worker_jobs.html
+++ 
b/providers/src/airflow/providers/edge/plugins/templates/edge_worker_jobs.html
@@ -32,8 +32,8 @@
       <table class="table table-striped table-bordered">
         <tr>
             <th>DAG ID</th>
-            <th>Task ID</th>
             <th>Run ID</th>
+            <th>Task ID</th>
             <th>Map Index</th>
             <th>Try Number</th>
             <th>State</th>
@@ -46,14 +46,20 @@
         {% for job in jobs %}
           <tr title="{{ job.command }}">
             <td><a href="/dags/{{ job.dag_id }}/grid">{{ job.dag_id }}</a></td>
-            <td><a href="/dags/{{ job.dag_id }}/grid?dag_run_id={{ job.run_id 
| urlencode }}&task_id={{ job.task_id }}">{{ job.task_id }}</a></td>
             <td><a href="/dags/{{ job.dag_id }}/grid?dag_run_id={{ job.run_id 
| urlencode }}">{{ job.run_id }}</a></td>
+            <td><a href="/dags/{{ job.dag_id }}/grid?dag_run_id={{ job.run_id 
| urlencode }}&task_id={{ job.task_id }}&tab=logs">{{ job.task_id }}</a></td>
             <td>{% if job.map_index >= 0 %}{{ job.map_index }}{% else %}-{% 
endif %}</td>
             <td>{{ job.try_number }}</td>
             <td>{{ html_states[job.state] }}</td>
-            <td>{{ job.queue }}</td>
+            <td>
+              <a 
href="../taskinstance/list/?_flt_7_state=success&_flt_7_state=failed&_flt_3_queue={{
 job.queue }}#"">{{ job.queue }}</a>
+            </td>
             <td><time datetime="{{ job.queued_dttm }}">{{ job.queued_dttm 
}}</time></td>
-            <td>{% if job.edge_worker %}{{ job.edge_worker }}{% endif %}</td>
+            <td>
+              {% if job.edge_worker %}
+              <a href="../taskinstance/list/?_flt_3_hostname={{ 
job.edge_worker }}&_flt_7_state=success&_flt_7_state=failed#">{{ 
job.edge_worker }}</a>
+              {% endif %}
+            </td>
             <td>{% if job.last_update %}<time datetime="{{ job.last_update 
}}">{{ job.last_update | string | truncate(20, False, "") }}</time>{% endif 
%}</td>
           </tr>
         {% endfor %}
diff --git a/providers/src/airflow/providers/edge/provider.yaml 
b/providers/src/airflow/providers/edge/provider.yaml
index e6b2d789007..34e787c528d 100644
--- a/providers/src/airflow/providers/edge/provider.yaml
+++ b/providers/src/airflow/providers/edge/provider.yaml
@@ -27,7 +27,7 @@ source-date-epoch: 1729683247
 
 # note that those versions are maintained by release manager - do not update 
them manually
 versions:
-  - 0.5.2pre0
+  - 0.5.3pre0
 
 dependencies:
   - apache-airflow>=2.10.0

Reply via email to