antonysouthworth-halter opened a new issue, #55548:
URL: https://github.com/apache/airflow/issues/55548

   ### Apache Airflow version
   
   Other Airflow 2 version (please specify below)
   
   ### If "Other Airflow 2 version" selected, which one?
   
   2.10.4
   
   ### What happened?
   
   DAG `on_{success,failure}_callback` not being invoked when expected; reprex 
DAG file provided below.
   
   
   
   ### What you think should happen instead?
   
   It should invoke the callback.
   
   ### How to reproduce
   
   reprex:
   
   ```python
   """
   Example of using DAG-level callbacks.
   """
   
   import datetime
   
   from pathlib import Path
   
   import pendulum
   
   from airflow import DAG
   from airflow.timetables.trigger import CronTriggerTimetable
   from airflow.operators.python import PythonOperator
   
   
   DAG_ID = Path(__file__).stem
   
   
   with DAG(
       dag_id=DAG_ID,
       schedule=CronTriggerTimetable("* * * * *", 
timezone=pendulum.timezone("UTC")),
       start_date=datetime.datetime(2025, 9, 11, 
tzinfo=pendulum.timezone("UTC")),
       catchup=False,
       doc_md=__doc__,
       max_active_runs=1,
       on_success_callback=[
           lambda *args, **kwargs: print(
               f"hello from dag success callback {args=} {kwargs=}"
           )
       ],
       default_args=dict(
           on_success_callback=[
               lambda *args, **kwargs: print(
                   f"hello from ti success callback {args=} {kwargs=}"
               )
           ]
       ),
   ):
       op = PythonOperator(
           task_id="print_hello",
           python_callable=lambda: print("hello world"),
       )
   ```
   
   <img width="1871" height="830" alt="Image" 
src="https://github.com/user-attachments/assets/4d99bdb9-7936-4a25-92d3-972ed990620f";
 />
   
   The *task-level* callback is invoked, nice! But the _DAG_ level it seems 
not. See below logs
   
   ```
   [
       {
           "@timestamp": "2025-09-12 01:28:04.370",
           "@message": "hello from ti success callback args=({'conf': 
<airflow.configuration.AirflowConfigParser object at 0x7fd1c57eb890>, 'dag': 
<DAG: example_dag_callbacks>, 'dag_run': <DagRun example_dag_callbacks @ 
2025-09-12 01:28:00+00:00: scheduled__2025-09-12T01:28:00+00:00, state:running, 
queued_at: 2025-09-12 01:28:00.655460+00:00. externally triggered: False>, 
'data_interval_end': DateTime(2025, 9, 12, 1, 28, 0, tzinfo=Timezone('UTC')), 
'data_interval_start': DateTime(2025, 9, 12, 1, 28, 0, tzinfo=Timezone('UTC')), 
'outlet_events': <airflow.utils.context.OutletEventAccessors object at 
0x7fd1b62139e0>, 'ds': '2025-09-12', 'ds_nodash': '20250912', 'execution_date': 
DateTime(2025, 9, 12, 1, 28, 0, tzinfo=Timezone('UTC')), 'expanded_ti_count': 
None, 'inlets': [], 'inlet_events': InletEventsAccessors(_inlets=[], 
_datasets={}, _dataset_aliases={}, _session=<sqlalchemy.orm.session.Session 
object at 0x7fd1c50afe30>), 'logical_date': DateTime(2025, 9, 12, 1, 28, 0, 
tzinfo=Timezone
 ('UTC')), 'macros': <module 'airflow.macros' from 
'/home/airflow/.local/lib/python3.12/site-packages/airflow/macros/__init__.py'>,
 'map_index_template': None, 'next_ds': '2025-09-12', 'next_ds_nodash': 
'20250912', 'next_execution_date': DateTime(2025, 9, 12, 1, 29, 0, 
tzinfo=Timezone('UTC')), 'outlets': [], 'params': {}, 
'prev_data_interval_start_success': DateTime(2025, 9, 12, 1, 27, 0, 
tzinfo=Timezone('UTC')), 'prev_data_interval_end_success': DateTime(2025, 9, 
12, 1, 27, 0, tzinfo=Timezone('UTC')), 'prev_ds': None, 'prev_ds_nodash': None, 
'prev_execution_date': None, 'prev_execution_date_success': DateTime(2025, 9, 
12, 1, 27, 0, tzinfo=Timezone('UTC')), 'prev_start_date_success': 
DateTime(2025, 9, 12, 1, 27, 0, 339820, tzinfo=Timezone('UTC')), 
'prev_end_date_success': DateTime(2025, 9, 12, 1, 27, 4, 557148, 
tzinfo=Timezone('UTC')), 'run_id': 'scheduled__2025-09-12T01:28:00+00:00', 
'task': <Task(PythonOperator): print_hello>, 'task_instance': <TaskInstance: 
example_dag_callbacks.p
 rint_hello scheduled__2025-09-12T01:28:00+00:00 [success]>, 
'task_instance_key_str': 'example_dag_callbacks__print_hello__20250912', 
'test_mode': False, 'ti': <TaskInstance: example_dag_callbacks.print_hello 
scheduled__2025-09-12T01:28:00+00:00 [success]>, 'tomorrow_ds': '2025-09-13', 
'tomorrow_ds_nodash': '20250913', 'triggering_dataset_events': <Proxy at 
0x7fd1b6240d80 with factory <function 
_get_template_context.<locals>.get_triggering_events at 0x7fd1b62347c0>>, 'ts': 
'2025-09-12T01:28:00+00:00', 'ts_nodash': '20250912T012800', 
'ts_nodash_with_tz': '20250912T012800+0000', 'var': {'json': None, 'value': 
None}, 'conn': None, 'yesterday_ds': '2025-09-11', 'yesterday_ds_nodash': 
'20250911', 'templates_dict': None},) kwargs={}",
           "@log": "204412309905:halter-airflow-tasks"
       },
       {
           "@timestamp": "2025-09-12 01:27:04.223",
           "@message": "hello from ti success callback args=({'conf': 
<airflow.configuration.AirflowConfigParser object at 0x7fd1c57eb890>, 'dag': 
<DAG: example_dag_callbacks>, 'dag_run': <DagRun example_dag_callbacks @ 
2025-09-12 01:27:00+00:00: scheduled__2025-09-12T01:27:00+00:00, state:running, 
queued_at: 2025-09-12 01:27:00.279646+00:00. externally triggered: False>, 
'data_interval_end': DateTime(2025, 9, 12, 1, 27, 0, tzinfo=Timezone('UTC')), 
'data_interval_start': DateTime(2025, 9, 12, 1, 27, 0, tzinfo=Timezone('UTC')), 
'outlet_events': <airflow.utils.context.OutletEventAccessors object at 
0x7fd1b6213bc0>, 'ds': '2025-09-12', 'ds_nodash': '20250912', 'execution_date': 
DateTime(2025, 9, 12, 1, 27, 0, tzinfo=Timezone('UTC')), 'expanded_ti_count': 
None, 'inlets': [], 'inlet_events': InletEventsAccessors(_inlets=[], 
_datasets={}, _dataset_aliases={}, _session=<sqlalchemy.orm.session.Session 
object at 0x7fd1c50ae750>), 'logical_date': DateTime(2025, 9, 12, 1, 27, 0, 
tzinfo=Timezone
 ('UTC')), 'macros': <module 'airflow.macros' from 
'/home/airflow/.local/lib/python3.12/site-packages/airflow/macros/__init__.py'>,
 'map_index_template': None, 'next_ds': '2025-09-12', 'next_ds_nodash': 
'20250912', 'next_execution_date': DateTime(2025, 9, 12, 1, 28, 0, 
tzinfo=Timezone('UTC')), 'outlets': [], 'params': {}, 
'prev_data_interval_start_success': DateTime(2025, 9, 12, 1, 26, 0, 
tzinfo=Timezone('UTC')), 'prev_data_interval_end_success': DateTime(2025, 9, 
12, 1, 26, 0, tzinfo=Timezone('UTC')), 'prev_ds': None, 'prev_ds_nodash': None, 
'prev_execution_date': None, 'prev_execution_date_success': DateTime(2025, 9, 
12, 1, 26, 0, tzinfo=Timezone('UTC')), 'prev_start_date_success': 
DateTime(2025, 9, 12, 1, 26, 0, 319259, tzinfo=Timezone('UTC')), 
'prev_end_date_success': DateTime(2025, 9, 12, 1, 26, 5, 42120, 
tzinfo=Timezone('UTC')), 'run_id': 'scheduled__2025-09-12T01:27:00+00:00', 
'task': <Task(PythonOperator): print_hello>, 'task_instance': <TaskInstance: 
example_dag_callbacks.pr
 int_hello scheduled__2025-09-12T01:27:00+00:00 [success]>, 
'task_instance_key_str': 'example_dag_callbacks__print_hello__20250912', 
'test_mode': False, 'ti': <TaskInstance: example_dag_callbacks.print_hello 
scheduled__2025-09-12T01:27:00+00:00 [success]>, 'tomorrow_ds': '2025-09-13', 
'tomorrow_ds_nodash': '20250913', 'triggering_dataset_events': <Proxy at 
0x7fd1b6240d80 with factory <function 
_get_template_context.<locals>.get_triggering_events at 0x7fd1b62347c0>>, 'ts': 
'2025-09-12T01:27:00+00:00', 'ts_nodash': '20250912T012700', 
'ts_nodash_with_tz': '20250912T012700+0000', 'var': {'json': None, 'value': 
None}, 'conn': None, 'yesterday_ds': '2025-09-11', 'yesterday_ds_nodash': 
'20250911', 'templates_dict': None},) kwargs={}",
           "@log": "204412309905:halter-airflow-tasks"
       },
       {
           "@timestamp": "2025-09-12 01:26:03.994",
           "@message": "hello from ti success callback args=({'conf': 
<airflow.configuration.AirflowConfigParser object at 0x7fd1c57eb890>, 'dag': 
<DAG: example_dag_callbacks>, 'dag_run': <DagRun example_dag_callbacks @ 
2025-09-12 01:26:00+00:00: scheduled__2025-09-12T01:26:00+00:00, state:running, 
queued_at: 2025-09-12 01:26:00.277472+00:00. externally triggered: False>, 
'data_interval_end': DateTime(2025, 9, 12, 1, 26, 0, tzinfo=Timezone('UTC')), 
'data_interval_start': DateTime(2025, 9, 12, 1, 26, 0, tzinfo=Timezone('UTC')), 
'outlet_events': <airflow.utils.context.OutletEventAccessors object at 
0x7fd1b6211880>, 'ds': '2025-09-12', 'ds_nodash': '20250912', 'execution_date': 
DateTime(2025, 9, 12, 1, 26, 0, tzinfo=Timezone('UTC')), 'expanded_ti_count': 
None, 'inlets': [], 'inlet_events': InletEventsAccessors(_inlets=[], 
_datasets={}, _dataset_aliases={}, _session=<sqlalchemy.orm.session.Session 
object at 0x7fd1c50ac740>), 'logical_date': DateTime(2025, 9, 12, 1, 26, 0, 
tzinfo=Timezone
 ('UTC')), 'macros': <module 'airflow.macros' from 
'/home/airflow/.local/lib/python3.12/site-packages/airflow/macros/__init__.py'>,
 'map_index_template': None, 'next_ds': '2025-09-12', 'next_ds_nodash': 
'20250912', 'next_execution_date': DateTime(2025, 9, 12, 1, 27, 0, 
tzinfo=Timezone('UTC')), 'outlets': [], 'params': {}, 
'prev_data_interval_start_success': DateTime(2025, 9, 12, 1, 25, 0, 
tzinfo=Timezone('UTC')), 'prev_data_interval_end_success': DateTime(2025, 9, 
12, 1, 25, 0, tzinfo=Timezone('UTC')), 'prev_ds': None, 'prev_ds_nodash': None, 
'prev_execution_date': None, 'prev_execution_date_success': DateTime(2025, 9, 
12, 1, 25, 0, tzinfo=Timezone('UTC')), 'prev_start_date_success': 
DateTime(2025, 9, 12, 1, 25, 1, 202145, tzinfo=Timezone('UTC')), 
'prev_end_date_success': DateTime(2025, 9, 12, 1, 25, 6, 853336, 
tzinfo=Timezone('UTC')), 'run_id': 'scheduled__2025-09-12T01:26:00+00:00', 
'task': <Task(PythonOperator): print_hello>, 'task_instance': <TaskInstance: 
example_dag_callbacks.p
 rint_hello scheduled__2025-09-12T01:26:00+00:00 [success]>, 
'task_instance_key_str': 'example_dag_callbacks__print_hello__20250912', 
'test_mode': False, 'ti': <TaskInstance: example_dag_callbacks.print_hello 
scheduled__2025-09-12T01:26:00+00:00 [success]>, 'tomorrow_ds': '2025-09-13', 
'tomorrow_ds_nodash': '20250913', 'triggering_dataset_events': <Proxy at 
0x7fd1b6241380 with factory <function 
_get_template_context.<locals>.get_triggering_events at 0x7fd1b6234ae0>>, 'ts': 
'2025-09-12T01:26:00+00:00', 'ts_nodash': '20250912T012600', 
'ts_nodash_with_tz': '20250912T012600+0000', 'var': {'json': None, 'value': 
None}, 'conn': None, 'yesterday_ds': '2025-09-11', 'yesterday_ds_nodash': 
'20250911', 'templates_dict': None},) kwargs={}",
           "@log": "204412309905:halter-airflow-tasks"
       },
       {
           "@timestamp": "2025-09-12 01:25:05.463",
           "@message": "hello from ti success callback args=({'conf': 
<airflow.configuration.AirflowConfigParser object at 0x7fd1c57eb890>, 'dag': 
<DAG: example_dag_callbacks>, 'dag_run': <DagRun example_dag_callbacks @ 
2025-09-12 01:25:00+00:00: scheduled__2025-09-12T01:25:00+00:00, state:running, 
queued_at: 2025-09-12 01:25:01.064088+00:00. externally triggered: False>, 
'data_interval_end': DateTime(2025, 9, 12, 1, 25, 0, tzinfo=Timezone('UTC')), 
'data_interval_start': DateTime(2025, 9, 12, 1, 25, 0, tzinfo=Timezone('UTC')), 
'outlet_events': <airflow.utils.context.OutletEventAccessors object at 
0x7fd1b6212180>, 'ds': '2025-09-12', 'ds_nodash': '20250912', 'execution_date': 
DateTime(2025, 9, 12, 1, 25, 0, tzinfo=Timezone('UTC')), 'expanded_ti_count': 
None, 'inlets': [], 'inlet_events': InletEventsAccessors(_inlets=[], 
_datasets={}, _dataset_aliases={}, _session=<sqlalchemy.orm.session.Session 
object at 0x7fd1c50ae750>), 'logical_date': DateTime(2025, 9, 12, 1, 25, 0, 
tzinfo=Timezone
 ('UTC')), 'macros': <module 'airflow.macros' from 
'/home/airflow/.local/lib/python3.12/site-packages/airflow/macros/__init__.py'>,
 'map_index_template': None, 'next_ds': '2025-09-12', 'next_ds_nodash': 
'20250912', 'next_execution_date': DateTime(2025, 9, 12, 1, 26, 0, 
tzinfo=Timezone('UTC')), 'outlets': [], 'params': {}, 
'prev_data_interval_start_success': DateTime(2025, 9, 12, 1, 24, 0, 
tzinfo=Timezone('UTC')), 'prev_data_interval_end_success': DateTime(2025, 9, 
12, 1, 24, 0, tzinfo=Timezone('UTC')), 'prev_ds': None, 'prev_ds_nodash': None, 
'prev_execution_date': None, 'prev_execution_date_success': DateTime(2025, 9, 
12, 1, 24, 0, tzinfo=Timezone('UTC')), 'prev_start_date_success': 
DateTime(2025, 9, 12, 1, 24, 0, 354869, tzinfo=Timezone('UTC')), 
'prev_end_date_success': DateTime(2025, 9, 12, 1, 24, 4, 676365, 
tzinfo=Timezone('UTC')), 'run_id': 'scheduled__2025-09-12T01:25:00+00:00', 
'task': <Task(PythonOperator): print_hello>, 'task_instance': <TaskInstance: 
example_dag_callbacks.p
 rint_hello scheduled__2025-09-12T01:25:00+00:00 [success]>, 
'task_instance_key_str': 'example_dag_callbacks__print_hello__20250912', 
'test_mode': False, 'ti': <TaskInstance: example_dag_callbacks.print_hello 
scheduled__2025-09-12T01:25:00+00:00 [success]>, 'tomorrow_ds': '2025-09-13', 
'tomorrow_ds_nodash': '20250913', 'triggering_dataset_events': <Proxy at 
0x7fd1b6240ec0 with factory <function 
_get_template_context.<locals>.get_triggering_events at 0x7fd1b62347c0>>, 'ts': 
'2025-09-12T01:25:00+00:00', 'ts_nodash': '20250912T012500', 
'ts_nodash_with_tz': '20250912T012500+0000', 'var': {'json': None, 'value': 
None}, 'conn': None, 'yesterday_ds': '2025-09-11', 'yesterday_ds_nodash': 
'20250911', 'templates_dict': None},) kwargs={}",
           "@log": "204412309905:halter-airflow-tasks"
       },
       {
           "@timestamp": "2025-09-12 01:24:03.980",
           "@message": "hello from ti success callback args=({'conf': 
<airflow.configuration.AirflowConfigParser object at 0x7fd1c57eb890>, 'dag': 
<DAG: example_dag_callbacks>, 'dag_run': <DagRun example_dag_callbacks @ 
2025-09-12 01:24:00+00:00: scheduled__2025-09-12T01:24:00+00:00, state:running, 
queued_at: 2025-09-12 01:24:00.287914+00:00. externally triggered: False>, 
'data_interval_end': DateTime(2025, 9, 12, 1, 24, 0, tzinfo=Timezone('UTC')), 
'data_interval_start': DateTime(2025, 9, 12, 1, 24, 0, tzinfo=Timezone('UTC')), 
'outlet_events': <airflow.utils.context.OutletEventAccessors object at 
0x7fd1b6213bc0>, 'ds': '2025-09-12', 'ds_nodash': '20250912', 'execution_date': 
DateTime(2025, 9, 12, 1, 24, 0, tzinfo=Timezone('UTC')), 'expanded_ti_count': 
None, 'inlets': [], 'inlet_events': InletEventsAccessors(_inlets=[], 
_datasets={}, _dataset_aliases={}, _session=<sqlalchemy.orm.session.Session 
object at 0x7fd1c50ad970>), 'logical_date': DateTime(2025, 9, 12, 1, 24, 0, 
tzinfo=Timezone
 ('UTC')), 'macros': <module 'airflow.macros' from 
'/home/airflow/.local/lib/python3.12/site-packages/airflow/macros/__init__.py'>,
 'map_index_template': None, 'next_ds': '2025-09-12', 'next_ds_nodash': 
'20250912', 'next_execution_date': DateTime(2025, 9, 12, 1, 25, 0, 
tzinfo=Timezone('UTC')), 'outlets': [], 'params': {}, 
'prev_data_interval_start_success': DateTime(2025, 9, 12, 1, 23, 0, 
tzinfo=Timezone('UTC')), 'prev_data_interval_end_success': DateTime(2025, 9, 
12, 1, 23, 0, tzinfo=Timezone('UTC')), 'prev_ds': None, 'prev_ds_nodash': None, 
'prev_execution_date': None, 'prev_execution_date_success': DateTime(2025, 9, 
12, 1, 23, 0, tzinfo=Timezone('UTC')), 'prev_start_date_success': 
DateTime(2025, 9, 12, 1, 23, 18, 143264, tzinfo=Timezone('UTC')), 
'prev_end_date_success': DateTime(2025, 9, 12, 1, 23, 21, 813414, 
tzinfo=Timezone('UTC')), 'run_id': 'scheduled__2025-09-12T01:24:00+00:00', 
'task': <Task(PythonOperator): print_hello>, 'task_instance': <TaskInstance: 
example_dag_callbacks
 .print_hello scheduled__2025-09-12T01:24:00+00:00 [success]>, 
'task_instance_key_str': 'example_dag_callbacks__print_hello__20250912', 
'test_mode': False, 'ti': <TaskInstance: example_dag_callbacks.print_hello 
scheduled__2025-09-12T01:24:00+00:00 [success]>, 'tomorrow_ds': '2025-09-13', 
'tomorrow_ds_nodash': '20250913', 'triggering_dataset_events': <Proxy at 
0x7fd1b6241000 with factory <function 
_get_template_context.<locals>.get_triggering_events at 0x7fd1b62347c0>>, 'ts': 
'2025-09-12T01:24:00+00:00', 'ts_nodash': '20250912T012400', 
'ts_nodash_with_tz': '20250912T012400+0000', 'var': {'json': None, 'value': 
None}, 'conn': None, 'yesterday_ds': '2025-09-11', 'yesterday_ds_nodash': 
'20250911', 'templates_dict': None},) kwargs={}",
           "@log": "204412309905:halter-airflow-tasks"
       },
       {
           "@timestamp": "2025-09-12 01:23:21.081",
           "@message": "hello from ti success callback args=({'conf': 
<airflow.configuration.AirflowConfigParser object at 0x7fd1c57eb890>, 'dag': 
<DAG: example_dag_callbacks>, 'dag_run': <DagRun example_dag_callbacks @ 
2025-09-12 01:23:00+00:00: scheduled__2025-09-12T01:23:00+00:00, state:running, 
queued_at: 2025-09-12 01:23:18.071435+00:00. externally triggered: False>, 
'data_interval_end': DateTime(2025, 9, 12, 1, 23, 0, tzinfo=Timezone('UTC')), 
'data_interval_start': DateTime(2025, 9, 12, 1, 23, 0, tzinfo=Timezone('UTC')), 
'outlet_events': <airflow.utils.context.OutletEventAccessors object at 
0x7fd1b621f710>, 'ds': '2025-09-12', 'ds_nodash': '20250912', 'execution_date': 
DateTime(2025, 9, 12, 1, 23, 0, tzinfo=Timezone('UTC')), 'expanded_ti_count': 
None, 'inlets': [], 'inlet_events': InletEventsAccessors(_inlets=[], 
_datasets={}, _dataset_aliases={}, _session=<sqlalchemy.orm.session.Session 
object at 0x7fd1b63dec00>), 'logical_date': DateTime(2025, 9, 12, 1, 23, 0, 
tzinfo=Timezone
 ('UTC')), 'macros': <module 'airflow.macros' from 
'/home/airflow/.local/lib/python3.12/site-packages/airflow/macros/__init__.py'>,
 'map_index_template': None, 'next_ds': '2025-09-12', 'next_ds_nodash': 
'20250912', 'next_execution_date': DateTime(2025, 9, 12, 1, 24, 0, 
tzinfo=Timezone('UTC')), 'outlets': [], 'params': {}, 
'prev_data_interval_start_success': None, 'prev_data_interval_end_success': 
None, 'prev_ds': None, 'prev_ds_nodash': None, 'prev_execution_date': None, 
'prev_execution_date_success': None, 'prev_start_date_success': None, 
'prev_end_date_success': None, 'run_id': 
'scheduled__2025-09-12T01:23:00+00:00', 'task': <Task(PythonOperator): 
print_hello>, 'task_instance': <TaskInstance: example_dag_callbacks.print_hello 
scheduled__2025-09-12T01:23:00+00:00 [success]>, 'task_instance_key_str': 
'example_dag_callbacks__print_hello__20250912', 'test_mode': False, 'ti': 
<TaskInstance: example_dag_callbacks.print_hello 
scheduled__2025-09-12T01:23:00+00:00 [success]>, 'tomorrow_ds':
  '2025-09-13', 'tomorrow_ds_nodash': '20250913', 'triggering_dataset_events': 
<Proxy at 0x7fd1b6240040 with factory <function 
_get_template_context.<locals>.get_triggering_events at 0x7fd1b6234900>>, 'ts': 
'2025-09-12T01:23:00+00:00', 'ts_nodash': '20250912T012300', 
'ts_nodash_with_tz': '20250912T012300+0000', 'var': {'json': None, 'value': 
None}, 'conn': None, 'yesterday_ds': '2025-09-11', 'yesterday_ds_nodash': 
'20250911', 'templates_dict': None},) kwargs={}",
           "@log": "204412309905:halter-airflow-tasks"
       },
       {
           "@timestamp": "2025-09-12 01:15:13.704",
           "@message": "hello from ti success callback args=({'conf': 
<airflow.configuration.AirflowConfigParser object at 0x7fd1c57eb890>, 'dag': 
<DAG: airflow_healthcheck>, 'dag_run': <DagRun airflow_healthcheck @ 2025-09-12 
01:15:00+00:00: scheduled__2025-09-12T01:15:00+00:00, state:running, queued_at: 
2025-09-12 01:15:00.431861+00:00. externally triggered: False>, 
'data_interval_end': DateTime(2025, 9, 12, 1, 15, 0, tzinfo=Timezone('UTC')), 
'data_interval_start': DateTime(2025, 9, 12, 1, 15, 0, tzinfo=Timezone('UTC')), 
'outlet_events': <airflow.utils.context.OutletEventAccessors object at 
0x7fd1b60dd610>, 'ds': '2025-09-12', 'ds_nodash': '20250912', 'execution_date': 
DateTime(2025, 9, 12, 1, 15, 0, tzinfo=Timezone('UTC')), 'expanded_ti_count': 
None, 'inlets': [], 'inlet_events': InletEventsAccessors(_inlets=[], 
_datasets={}, _dataset_aliases={}, _session=<sqlalchemy.orm.session.Session 
object at 0x7fd1c50ad100>), 'logical_date': DateTime(2025, 9, 12, 1, 15, 0, 
tzinfo=Timezone('UT
 C')), 'macros': <module 'airflow.macros' from 
'/home/airflow/.local/lib/python3.12/site-packages/airflow/macros/__init__.py'>,
 'map_index_template': None, 'next_ds': '2025-09-12', 'next_ds_nodash': 
'20250912', 'next_execution_date': DateTime(2025, 9, 12, 1, 30, 0, 
tzinfo=Timezone('UTC')), 'outlets': [], 'params': {}, 
'prev_data_interval_start_success': DateTime(2025, 9, 12, 1, 0, 0, 
tzinfo=Timezone('UTC')), 'prev_data_interval_end_success': DateTime(2025, 9, 
12, 1, 0, 0, tzinfo=Timezone('UTC')), 'prev_ds': None, 'prev_ds_nodash': None, 
'prev_execution_date': None, 'prev_execution_date_success': DateTime(2025, 9, 
12, 1, 0, 0, tzinfo=Timezone('UTC')), 'prev_start_date_success': DateTime(2025, 
9, 12, 1, 0, 1, 348704, tzinfo=Timezone('UTC')), 'prev_end_date_success': 
DateTime(2025, 9, 12, 1, 0, 25, 439440, tzinfo=Timezone('UTC')), 'run_id': 
'scheduled__2025-09-12T01:15:00+00:00', 'task': 
<Task(_PythonDecoratedOperator): report_dependency>, 'task_instance': 
<TaskInstance: airflow_healthc
 heck.report_dependency scheduled__2025-09-12T01:15:00+00:00 [success]>, 
'task_instance_key_str': 'airflow_healthcheck__report_dependency__20250912', 
'test_mode': False, 'ti': <TaskInstance: airflow_healthcheck.report_dependency 
scheduled__2025-09-12T01:15:00+00:00 [success]>, 'tomorrow_ds': '2025-09-13', 
'tomorrow_ds_nodash': '20250913', 'triggering_dataset_events': <Proxy at 
0x7fd1b5502d80 with factory <function 
_get_template_context.<locals>.get_triggering_events at 0x7fd1b60ab240>>, 'ts': 
'2025-09-12T01:15:00+00:00', 'ts_nodash': '20250912T011500', 
'ts_nodash_with_tz': '20250912T011500+0000', 'var': {'json': None, 'value': 
None}, 'conn': None, 'yesterday_ds': '2025-09-11', 'yesterday_ds_nodash': 
'20250911', 'templates_dict': None},) kwargs={}",
           "@log": "204412309905:halter-airflow-tasks"
       },
       {
           "@timestamp": "2025-09-12 01:15:13.704",
           "@message": "hello from ti success callback 
args[0]['dag'].on_success_callback=[<function publish_dag_run_event at 
0x7fd1b6d772e0>]",
           "@log": "204412309905:halter-airflow-tasks"
       },
       {
           "@timestamp": "2025-09-12 01:15:08.842",
           "@message": "hello from ti success callback args=({'conf': 
<airflow.configuration.AirflowConfigParser object at 0x7fd1c57eb890>, 'dag': 
<DAG: airflow_healthcheck>, 'dag_run': <DagRun airflow_healthcheck @ 2025-09-12 
01:15:00+00:00: scheduled__2025-09-12T01:15:00+00:00, state:running, queued_at: 
2025-09-12 01:15:00.431861+00:00. externally triggered: False>, 
'data_interval_end': DateTime(2025, 9, 12, 1, 15, 0, tzinfo=Timezone('UTC')), 
'data_interval_start': DateTime(2025, 9, 12, 1, 15, 0, tzinfo=Timezone('UTC')), 
'outlet_events': <airflow.utils.context.OutletEventAccessors object at 
0x7fd1b60dd5b0>, 'ds': '2025-09-12', 'ds_nodash': '20250912', 'execution_date': 
DateTime(2025, 9, 12, 1, 15, 0, tzinfo=Timezone('UTC')), 'expanded_ti_count': 
None, 'inlets': [], 'inlet_events': InletEventsAccessors(_inlets=[], 
_datasets={}, _dataset_aliases={}, _session=<sqlalchemy.orm.session.Session 
object at 0x7fd1c50ade80>), 'logical_date': DateTime(2025, 9, 12, 1, 15, 0, 
tzinfo=Timezone('UT
 C')), 'macros': <module 'airflow.macros' from 
'/home/airflow/.local/lib/python3.12/site-packages/airflow/macros/__init__.py'>,
 'map_index_template': None, 'next_ds': '2025-09-12', 'next_ds_nodash': 
'20250912', 'next_execution_date': DateTime(2025, 9, 12, 1, 30, 0, 
tzinfo=Timezone('UTC')), 'outlets': [], 'params': {}, 
'prev_data_interval_start_success': DateTime(2025, 9, 12, 1, 0, 0, 
tzinfo=Timezone('UTC')), 'prev_data_interval_end_success': DateTime(2025, 9, 
12, 1, 0, 0, tzinfo=Timezone('UTC')), 'prev_ds': None, 'prev_ds_nodash': None, 
'prev_execution_date': None, 'prev_execution_date_success': DateTime(2025, 9, 
12, 1, 0, 0, tzinfo=Timezone('UTC')), 'prev_start_date_success': DateTime(2025, 
9, 12, 1, 0, 1, 348704, tzinfo=Timezone('UTC')), 'prev_end_date_success': 
DateTime(2025, 9, 12, 1, 0, 25, 439440, tzinfo=Timezone('UTC')), 'run_id': 
'scheduled__2025-09-12T01:15:00+00:00', 'task': 
<Task(_PythonDecoratedOperator): report_scheduling_delay>, 'task_instance': 
<TaskInstance: airflow_h
 ealthcheck.report_scheduling_delay scheduled__2025-09-12T01:15:00+00:00 
[success]>, 'task_instance_key_str': 
'airflow_healthcheck__report_scheduling_delay__20250912', 'test_mode': False, 
'ti': <TaskInstance: airflow_healthcheck.report_scheduling_delay 
scheduled__2025-09-12T01:15:00+00:00 [success]>, 'tomorrow_ds': '2025-09-13', 
'tomorrow_ds_nodash': '20250913', 'triggering_dataset_events': <Proxy at 
0x7fd1b60fbf00 with factory <function 
_get_template_context.<locals>.get_triggering_events at 0x7fd1b60a7600>>, 'ts': 
'2025-09-12T01:15:00+00:00', 'ts_nodash': '20250912T011500', 
'ts_nodash_with_tz': '20250912T011500+0000', 'var': {'json': None, 'value': 
None}, 'conn': None, 'yesterday_ds': '2025-09-11', 'yesterday_ds_nodash': 
'20250911', 'templates_dict': None},) kwargs={}",
           "@log": "204412309905:halter-airflow-tasks"
       },
       {
           "@timestamp": "2025-09-12 01:15:08.842",
           "@message": "hello from ti success callback 
args[0]['dag'].on_success_callback=[<function publish_dag_run_event at 
0x7fd1b6d772e0>]",
           "@log": "204412309905:halter-airflow-tasks"
       }
   ]
   ```
   
   ### Operating System
   
   Linux, Debian specifically (base python 3 slim bullseye image)
   
   ### Versions of Apache Airflow Providers
   
   ```
   $ pip freeze | grep apache-airflow-providers
   apache-airflow-providers-amazon==8.28.0
   apache-airflow-providers-common-compat==1.2.0
   apache-airflow-providers-common-io==1.4.0
   apache-airflow-providers-common-sql==1.16.0
   apache-airflow-providers-fab==1.3.0
   apache-airflow-providers-ftp==3.11.0
   apache-airflow-providers-http==4.13.0
   apache-airflow-providers-imap==3.7.0
   apache-airflow-providers-slack==8.9.0
   apache-airflow-providers-smtp==1.8.0
   apache-airflow-providers-sqlite==3.9.0
   ```
   
   ### Deployment
   
   Other Docker-based deployment
   
   ### Deployment details
   
   RDS metadb, Valkey/k8s broker, AWS ECS for all airflow hosts 
(scheduler+worker+triggerer+webserver), CeleryExecutor.
   
   ### Anything else?
   
   If anyone seen this before and knows what's wrong that's awesome! But to be 
honest even just getting a pointer to where to look would be immensely helpful!
   
   ### Are you willing to submit PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to