diff --git a/python_modules/dagster/dagster/_core/definitions/declarative_automation/automation_condition_evaluator.py b/python_modules/dagster/dagster/_core/definitions/declarative_automation/automation_condition_evaluator.py index 624536186b480..d138cc2678f3f 100644 --- a/python_modules/dagster/dagster/_core/definitions/declarative_automation/automation_condition_evaluator.py +++ b/python_modules/dagster/dagster/_core/definitions/declarative_automation/automation_condition_evaluator.py @@ -124,9 +124,7 @@ async def async_evaluate( num_conditions = len(self.entity_keys) num_evaluated = 0 - async def _evaluate_entity_async(entity_key: EntityKey) -> None: - nonlocal num_evaluated - + async def _evaluate_entity_async(entity_key: EntityKey) -> int: self.logger.debug( f"Evaluating {entity_key.to_user_string()} ({num_evaluated+1}/{num_conditions})" ) @@ -150,7 +148,7 @@ async def _evaluate_entity_async(entity_key: EntityKey) -> None: f"requested ({requested_str}) " f"({format(result.end_timestamp - result.start_timestamp, '.3f')} seconds)" ) - num_evaluated += 1 + return 1 for topo_level in self.asset_graph.toposorted_entity_keys_by_level: coroutines = [ @@ -158,7 +156,8 @@ async def _evaluate_entity_async(entity_key: EntityKey) -> None: for entity_key in topo_level if entity_key in self.entity_keys ] - await asyncio.gather(*coroutines) + gathered = await asyncio.gather(*coroutines) + num_evaluated += sum(gathered) return list(self.current_results_by_key.values()), list(self._get_entity_subsets())