You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by po...@apache.org on 2022/06/14 20:15:57 UTC
[airflow] branch main updated: `TI.log_url` fix for `map_index` (#24335)
This is an automated email from the ASF dual-hosted git repository.
potiuk 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 48a6155bb1 `TI.log_url` fix for `map_index` (#24335)
48a6155bb1 is described below
commit 48a6155bb1478245c1dd8b6401e4cce00e129422
Author: fritz-astronomer <80...@users.noreply.github.com>
AuthorDate: Tue Jun 14 16:15:49 2022 -0400
`TI.log_url` fix for `map_index` (#24335)
---
airflow/models/taskinstance.py | 8 +++++++-
tests/models/test_taskinstance.py | 13 +------------
2 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/airflow/models/taskinstance.py b/airflow/models/taskinstance.py
index 0f5d49b819..7913cff7ff 100644
--- a/airflow/models/taskinstance.py
+++ b/airflow/models/taskinstance.py
@@ -771,7 +771,13 @@ class TaskInstance(Base, LoggingMixin):
"""Log URL for TaskInstance"""
iso = quote(self.execution_date.isoformat())
base_url = conf.get('webserver', 'BASE_URL')
- return base_url + f"/log?execution_date={iso}&task_id={self.task_id}&dag_id={self.dag_id}"
+ return (
+ f"{base_url}/log"
+ f"?execution_date={iso}"
+ f"&task_id={self.task_id}"
+ f"&dag_id={self.dag_id}"
+ f"&map_index={self.map_index}"
+ )
@property
def mark_success_url(self):
diff --git a/tests/models/test_taskinstance.py b/tests/models/test_taskinstance.py
index a1d180fa1e..da3d138306 100644
--- a/tests/models/test_taskinstance.py
+++ b/tests/models/test_taskinstance.py
@@ -1307,18 +1307,6 @@ class TestTaskInstance:
assert 1 == ti2.get_num_running_task_instances(session=session)
assert 1 == ti3.get_num_running_task_instances(session=session)
- # def test_log_url(self):
- # now = pendulum.now('Europe/Brussels')
- # dag = DAG('dag', start_date=DEFAULT_DATE)
- # task = EmptyOperator(task_id='op', dag=dag)
- # ti = TI(task=task, execution_date=now)
- # d = urllib.parse.parse_qs(
- # urllib.parse.urlparse(ti.log_url).query,
- # keep_blank_values=True, strict_parsing=True)
- # self.assertEqual(d['dag_id'][0], 'dag')
- # self.assertEqual(d['task_id'][0], 'op')
- # self.assertEqual(pendulum.parse(d['execution_date'][0]), now)
-
def test_log_url(self, create_task_instance):
ti = create_task_instance(dag_id='dag', task_id='op', execution_date=timezone.datetime(2018, 1, 1))
@@ -1327,6 +1315,7 @@ class TestTaskInstance:
'execution_date=2018-01-01T00%3A00%3A00%2B00%3A00'
'&task_id=op'
'&dag_id=dag'
+ '&map_index=-1'
)
assert ti.log_url == expected_url