|
35 | 35 | OffsetFilter, |
36 | 36 | QueryLimit, |
37 | 37 | QueryOffset, |
| 38 | + QueryTIDagVersionFilter, |
38 | 39 | QueryTIExecutorFilter, |
39 | 40 | QueryTIPoolFilter, |
40 | 41 | QueryTIQueueFilter, |
@@ -87,6 +88,7 @@ def get_task_instance( |
87 | 88 | .where(TI.dag_id == dag_id, TI.run_id == dag_run_id, TI.task_id == task_id) |
88 | 89 | .join(TI.dag_run) |
89 | 90 | .options(joinedload(TI.rendered_task_instance_fields)) |
| 91 | + .options(joinedload(TI.dag_version)) |
90 | 92 | ) |
91 | 93 | task_instance = session.scalar(query) |
92 | 94 |
|
@@ -121,6 +123,7 @@ def get_mapped_task_instances( |
121 | 123 | pool: QueryTIPoolFilter, |
122 | 124 | queue: QueryTIQueueFilter, |
123 | 125 | executor: QueryTIExecutorFilter, |
| 126 | + version_number: QueryTIDagVersionFilter, |
124 | 127 | limit: QueryLimit, |
125 | 128 | offset: QueryOffset, |
126 | 129 | order_by: Annotated[ |
@@ -156,6 +159,7 @@ def get_mapped_task_instances( |
156 | 159 | select(TI) |
157 | 160 | .where(TI.dag_id == dag_id, TI.run_id == dag_run_id, TI.task_id == task_id, TI.map_index >= 0) |
158 | 161 | .join(TI.dag_run) |
| 162 | + .options(joinedload(TI.dag_version)) |
159 | 163 | ) |
160 | 164 | # 0 can mean a mapped TI that expanded to an empty list, so it is not an automatic 404 |
161 | 165 | unfiltered_total_count = get_query_count(query, session=session) |
@@ -185,6 +189,7 @@ def get_mapped_task_instances( |
185 | 189 | pool, |
186 | 190 | queue, |
187 | 191 | executor, |
| 192 | + version_number, |
188 | 193 | ], |
189 | 194 | order_by=order_by, |
190 | 195 | offset=offset, |
@@ -330,6 +335,7 @@ def get_mapped_task_instance( |
330 | 335 | .where(TI.dag_id == dag_id, TI.run_id == dag_run_id, TI.task_id == task_id, TI.map_index == map_index) |
331 | 336 | .join(TI.dag_run) |
332 | 337 | .options(joinedload(TI.rendered_task_instance_fields)) |
| 338 | + .options(joinedload(TI.dag_version)) |
333 | 339 | ) |
334 | 340 | task_instance = session.scalar(query) |
335 | 341 |
|
@@ -361,6 +367,7 @@ def get_task_instances( |
361 | 367 | pool: QueryTIPoolFilter, |
362 | 368 | queue: QueryTIQueueFilter, |
363 | 369 | executor: QueryTIExecutorFilter, |
| 370 | + version_number: QueryTIDagVersionFilter, |
364 | 371 | limit: QueryLimit, |
365 | 372 | offset: QueryOffset, |
366 | 373 | order_by: Annotated[ |
@@ -397,7 +404,7 @@ def get_task_instances( |
397 | 404 | This endpoint allows specifying `~` as the dag_id, dag_run_id to retrieve Task Instances for all DAGs |
398 | 405 | and DAG runs. |
399 | 406 | """ |
400 | | - query = select(TI).join(TI.dag_run) |
| 407 | + query = select(TI).join(TI.dag_run).outerjoin(TI.dag_version).options(joinedload(TI.dag_version)) |
401 | 408 |
|
402 | 409 | if dag_id != "~": |
403 | 410 | dag = request.app.state.dag_bag.get_dag(dag_id) |
@@ -428,6 +435,7 @@ def get_task_instances( |
428 | 435 | executor, |
429 | 436 | task_id, |
430 | 437 | task_display_name_pattern, |
| 438 | + version_number, |
431 | 439 | ], |
432 | 440 | order_by=order_by, |
433 | 441 | offset=offset, |
|
0 commit comments