@@ -371,77 +371,60 @@ async def signal_child_workflow(
371371        self , input : temporalio .worker .SignalChildWorkflowInput 
372372    ) ->  None :
373373        trace  =  get_trace_provider ().get_current_trace ()
374+         set_header_from_context (input , temporalio .workflow .payload_converter ())
374375        if  trace :
375376            with  custom_span (
376377                name = "temporal:signalChildWorkflow" ,
377378                data = {"workflowId" : input .child_workflow_id },
378379            ):
379-                 set_header_from_context (input , temporalio .workflow .payload_converter ())
380380                await  self .next .signal_child_workflow (input )
381-         else :
382-             set_header_from_context (input , temporalio .workflow .payload_converter ())
383-             await  self .next .signal_child_workflow (input )
381+         await  self .next .signal_child_workflow (input )
384382
385383    async  def  signal_external_workflow (
386384        self , input : temporalio .worker .SignalExternalWorkflowInput 
387385    ) ->  None :
388386        trace  =  get_trace_provider ().get_current_trace ()
387+         set_header_from_context (input , temporalio .workflow .payload_converter ())
389388        if  trace :
390389            with  custom_span (
391390                name = "temporal:signalExternalWorkflow" ,
392391                data = {"workflowId" : input .workflow_id },
393392            ):
394-                 set_header_from_context (input , temporalio .workflow .payload_converter ())
395393                await  self .next .signal_external_workflow (input )
396-         else :
397-             set_header_from_context (input , temporalio .workflow .payload_converter ())
398-             await  self .next .signal_external_workflow (input )
394+         await  self .next .signal_external_workflow (input )
399395
400396    def  start_activity (
401397        self , input : temporalio .worker .StartActivityInput 
402398    ) ->  temporalio .workflow .ActivityHandle :
403399        trace  =  get_trace_provider ().get_current_trace ()
404-         span :  Optional [ Span ]  =   None 
400+         set_header_from_context ( input ,  temporalio . workflow . payload_converter ()) 
405401        if  trace :
406-             span   =  custom_span (
402+             with  custom_span (
407403                name = "temporal:startActivity" , data = {"activity" : input .activity }
408-             )
409-             span .start (mark_as_current = True )
410- 
411-         set_header_from_context (input , temporalio .workflow .payload_converter ())
412-         handle  =  self .next .start_activity (input )
413-         if  span :
414-             handle .add_done_callback (lambda  _ : span .finish ())  # type: ignore 
415-         return  handle 
404+             ):
405+                 return  self .next .start_activity (input )
406+         return  self .next .start_activity (input )
416407
417408    async  def  start_child_workflow (
418409        self , input : temporalio .worker .StartChildWorkflowInput 
419410    ) ->  temporalio .workflow .ChildWorkflowHandle :
420411        trace  =  get_trace_provider ().get_current_trace ()
421-         span :  Optional [ Span ]  =   None 
412+         set_header_from_context ( input ,  temporalio . workflow . payload_converter ()) 
422413        if  trace :
423-             span   =  custom_span (
414+             with  custom_span (
424415                name = "temporal:startChildWorkflow" , data = {"workflow" : input .workflow }
425-             )
426-             span .start (mark_as_current = True )
427-         set_header_from_context (input , temporalio .workflow .payload_converter ())
428-         handle  =  await  self .next .start_child_workflow (input )
429-         if  span :
430-             handle .add_done_callback (lambda  _ : span .finish ())  # type: ignore 
431-         return  handle 
416+             ):
417+                 return  await  self .next .start_child_workflow (input )
418+         return  await  self .next .start_child_workflow (input )
432419
433420    def  start_local_activity (
434421        self , input : temporalio .worker .StartLocalActivityInput 
435422    ) ->  temporalio .workflow .ActivityHandle :
436423        trace  =  get_trace_provider ().get_current_trace ()
437-         span :  Optional [ Span ]  =   None 
424+         set_header_from_context ( input ,  temporalio . workflow . payload_converter ()) 
438425        if  trace :
439-             span   =  custom_span (
426+             with  custom_span (
440427                name = "temporal:startLocalActivity" , data = {"activity" : input .activity }
441-             )
442-             span .start (mark_as_current = True )
443-         set_header_from_context (input , temporalio .workflow .payload_converter ())
444-         handle  =  self .next .start_local_activity (input )
445-         if  span :
446-             handle .add_done_callback (lambda  _ : span .finish ())  # type: ignore 
447-         return  handle 
428+             ):
429+                 return  self .next .start_local_activity (input )
430+         return  self .next .start_local_activity (input )
0 commit comments