@@ -138,6 +138,26 @@ def _raise_if_overwrites_any_operation_provided_key(
138138 )
139139
140140
141+ async def _get_step_error_traceback (
142+ store : Store ,
143+ * ,
144+ schedule_id : ScheduleId ,
145+ operation_name : OperationName ,
146+ current_step_group : BaseStepGroup ,
147+ group_index : NonNegativeInt ,
148+ step_name : StepName ,
149+ ) -> tuple [StepName , str ]:
150+ step_proxy = StepStoreProxy (
151+ store = store ,
152+ schedule_id = schedule_id ,
153+ operation_name = operation_name ,
154+ step_group_name = current_step_group .get_step_group_name (index = group_index ),
155+ step_name = step_name ,
156+ is_creating = False ,
157+ )
158+ return step_name , await step_proxy .get ("error_traceback" )
159+
160+
141161class Core :
142162 def __init__ (
143163 self ,
@@ -541,25 +561,16 @@ async def _continue_handling_as_reverting(
541561 ]
542562
543563 if failed_step_names :
544-
545- async def _get_step_error_traceback ( # TODO: extract function form here
546- step_name : StepName ,
547- ) -> tuple [StepName , str ]:
548- step_proxy = StepStoreProxy (
549- store = self ._store ,
550- schedule_id = schedule_id ,
551- operation_name = operation_name ,
552- step_group_name = current_step_group .get_step_group_name (
553- index = group_index
554- ),
555- step_name = step_name ,
556- is_creating = False ,
557- )
558- return step_name , await step_proxy .get ("error_traceback" )
559-
560564 error_tracebacks : list [tuple [StepName , str ]] = await limited_gather (
561565 * (
562- _get_step_error_traceback (step_name )
566+ _get_step_error_traceback (
567+ self ._store ,
568+ schedule_id = schedule_id ,
569+ operation_name = operation_name ,
570+ current_step_group = current_step_group ,
571+ group_index = group_index ,
572+ step_name = step_name ,
573+ )
563574 for step_name in failed_step_names
564575 ),
565576 limit = _PARALLEL_STATUS_REQUESTS ,
0 commit comments