@@ -3049,8 +3049,8 @@ def bulk_write_to_db(
30493049 )
30503050 query = with_row_locks (query , of = DagModel , session = session )
30513051 orm_dags : list [DagModel ] = session .scalars (query ).unique ().all ()
3052- existing_dags = {orm_dag .dag_id : orm_dag for orm_dag in orm_dags }
3053- missing_dag_ids = dag_ids .difference (existing_dags )
3052+ existing_dags : dict [ str , DagModel ] = {x .dag_id : x for x in orm_dags }
3053+ missing_dag_ids = dag_ids .difference (existing_dags . keys () )
30543054
30553055 for missing_dag_id in missing_dag_ids :
30563056 orm_dag = DagModel (dag_id = missing_dag_id )
@@ -3067,7 +3067,7 @@ def bulk_write_to_db(
30673067 # Skip these queries entirely if no DAGs can be scheduled to save time.
30683068 if any (dag .timetable .can_be_scheduled for dag in dags ):
30693069 # Get the latest automated dag run for each existing dag as a single query (avoid n+1 query)
3070- query = cls ._get_latest_runs_query (existing_dags , session )
3070+ query = cls ._get_latest_runs_query (dags = list ( existing_dags . keys ()) )
30713071 latest_runs = {run .dag_id : run for run in session .scalars (query )}
30723072
30733073 # Get number of active dagruns for all dags we are processing as a single query.
@@ -3240,16 +3240,15 @@ def bulk_write_to_db(
32403240 cls .bulk_write_to_db (dag .subdags , processor_subdir = processor_subdir , session = session )
32413241
32423242 @classmethod
3243- def _get_latest_runs_query (cls , dags , session ) -> Query :
3243+ def _get_latest_runs_query (cls , dags : list [ str ] ) -> Query :
32443244 """
32453245 Query the database to retrieve the last automated run for each dag.
32463246
32473247 :param dags: dags to query
3248- :param session: sqlalchemy session object
32493248 """
32503249 if len (dags ) == 1 :
32513250 # Index optimized fast path to avoid more complicated & slower groupby queryplan
3252- existing_dag_id = list ( dags ) [0 ]. dag_id
3251+ existing_dag_id = dags [0 ]
32533252 last_automated_runs_subq = (
32543253 select (func .max (DagRun .execution_date ).label ("max_execution_date" ))
32553254 .where (
0 commit comments