@@ -6094,21 +6094,22 @@ def __init__(
60946094 self .ping_pong_val = 1
60956095 self .ping_pong_counter = 0
60966096 self .ping_pong_max_count = 4
6097+ self .run_finished = False
60976098
60986099 @workflow .run
60996100 async def run (self ) -> str :
61006101 await workflow .wait_condition (
61016102 lambda : self .seen_first_signal and self .seen_second_signal
61026103 )
6104+ self .run_finished = True
61036105 return "workflow-result"
61046106
61056107 @workflow .signal
61066108 async def this_signal_executes_first (self ):
61076109 self .seen_first_signal = True
61086110 workflow .logger .info ("First signal true" )
61096111 if self .main_workflow_returns_before_signal_completions :
6110- workflow .logger .info ("Ping pong positive" )
6111- await self .ping_pong (lambda : self .ping_pong_val > 0 )
6112+ await workflow .wait_condition (lambda : self .run_finished )
61126113 workflow .logger .info ("First signal raise" )
61136114 raise ApplicationError (
61146115 "Client should see this error unless doing ping-pong "
@@ -6122,8 +6123,7 @@ async def this_signal_executes_second(self):
61226123 workflow .logger .info ("Second signal true" )
61236124 self .seen_second_signal = True
61246125 if self .main_workflow_returns_before_signal_completions :
6125- workflow .logger .info ("Ping pong negative" )
6126- await self .ping_pong (lambda : self .ping_pong_val < 0 )
6126+ await workflow .wait_condition (lambda : self .run_finished )
61276127 workflow .logger .info ("Second signal raise" )
61286128 raise ApplicationError ("Client should never see this error!" )
61296129
0 commit comments