@@ -6100,22 +6100,21 @@ def __init__(
61006100 self .main_workflow_returns_before_signal_completions = (
61016101 main_workflow_returns_before_signal_completions
61026102 )
6103- self .ping_pong_val = 1
6104- self .ping_pong_counter = 0
6105- self .ping_pong_max_count = 4
6103+ self .run_finished = False
61066104
61076105 @workflow .run
61086106 async def run (self ) -> str :
61096107 await workflow .wait_condition (
61106108 lambda : self .seen_first_signal and self .seen_second_signal
61116109 )
6110+ self .run_finished = True
61126111 return "workflow-result"
61136112
61146113 @workflow .signal
61156114 async def this_signal_executes_first (self ):
61166115 self .seen_first_signal = True
61176116 if self .main_workflow_returns_before_signal_completions :
6118- await self . ping_pong (lambda : self .ping_pong_val > 0 )
6117+ await workflow . wait_condition (lambda : self .run_finished )
61196118 raise ApplicationError (
61206119 "Client should see this error unless doing ping-pong "
61216120 "(in which case main coroutine returns first)"
@@ -6126,18 +6125,12 @@ async def this_signal_executes_second(self):
61266125 await workflow .wait_condition (lambda : self .seen_first_signal )
61276126 self .seen_second_signal = True
61286127 if self .main_workflow_returns_before_signal_completions :
6129- await self . ping_pong (lambda : self .ping_pong_val < 0 )
6128+ await workflow . wait_condition (lambda : self .run_finished )
61306129 raise ApplicationError ("Client should never see this error!" )
61316130
6132- async def ping_pong (self , cond : Callable [[], bool ]):
6133- while self .ping_pong_counter < self .ping_pong_max_count :
6134- await workflow .wait_condition (cond )
6135- self .ping_pong_val = - self .ping_pong_val
6136- self .ping_pong_counter += 1
6137-
61386131
61396132@workflow .defn
6140- class FirstCompletionCommandIsHonoredPingPongWorkflow (
6133+ class FirstCompletionCommandIsHonoredSignalWaitWorkflow (
61416134 FirstCompletionCommandIsHonoredWorkflow
61426135):
61436136 def __init__ (self ) -> None :
@@ -6166,10 +6159,10 @@ async def _do_first_completion_command_is_honored_test(
61666159 client : Client , main_workflow_returns_before_signal_completions : bool
61676160):
61686161 workflow_cls : Union [
6169- Type [FirstCompletionCommandIsHonoredPingPongWorkflow ],
6162+ Type [FirstCompletionCommandIsHonoredSignalWaitWorkflow ],
61706163 Type [FirstCompletionCommandIsHonoredWorkflow ],
61716164 ] = (
6172- FirstCompletionCommandIsHonoredPingPongWorkflow
6165+ FirstCompletionCommandIsHonoredSignalWaitWorkflow
61736166 if main_workflow_returns_before_signal_completions
61746167 else FirstCompletionCommandIsHonoredWorkflow
61756168 )
0 commit comments