Skip to content

"Recent Task", "Grid View" does not include dag runs that have null logical_date #46669

@Lee-W

Description

@Lee-W

Apache Airflow version

main (development)

If "Other Airflow 2 version" selected, which one?

main

What happened?

Follow up of #46460 (comment). asset triggered, manual triggered dag runs that does not have logical_date won't shown in the "Recent Task" list.

Image Image

What you think should happen instead?

Manual triggered dagrun, asset triggered dagrun and other dagrun should be shown on UI

How to reproduce

Trigger asset_produces_1

from __future__ import annotations

import pendulum

from airflow.models.dag import DAG
from airflow.providers.standard.operators.python import PythonOperator
from airflow.sdk.definitions.asset import Asset
from airflow.timetables.assets import AssetOrTimeSchedule
from airflow.timetables.trigger import CronTriggerTimetable

dag1_asset = Asset("s3://dag1/output_1.txt", extra={"hi": "bye"}, group="ML Model")
dag1_asset_2 = Asset("s3://dag1/output_2.txt", extra={"hi": "bye"}, group="ML Model")
dag2_asset = Asset("s3://dag1/output_2.txt", extra={"hi": "bye"}, group="Dataset")


def func(**context):
    print("kfb", context)
    print("kfb", context.get("logical_date"))


with DAG(
    dag_id="asset_produces_1",
    catchup=False,
    start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
    schedule=None,
    tags=["produces", "asset-scheduled"],
) as dag1:
    PythonOperator(outlets=[dag1_asset, dag1_asset_2], task_id="producing_task_11", python_callable=func)

with DAG(
    dag_id="asset_produces_2",
    catchup=False,
    start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
    schedule=dag1_asset,
    tags=["produces", "asset-scheduled"],
) as dag2:
    PythonOperator(task_id="producing_task_1231", python_callable=func)

with DAG(
    dag_id="asset_produces_3",
    catchup=False,
    start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
    schedule=AssetOrTimeSchedule(
        timetable=CronTriggerTimetable("0 1 * * 3", timezone="UTC"), assets=dag1_asset_2
    ),
    tags=["produces", "asset-scheduled"],
) as dag2:
    PythonOperator(task_id="producing_task_1231", python_callable=func)

Operating System

macOS 15

Versions of Apache Airflow Providers

No response

Deployment

Official Apache Airflow Helm Chart

Deployment details

No response

Anything else?

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

Metadata

Metadata

Assignees

Labels

Type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions