Skip to content

Commit e94d16c

Browse files
committed
Try a simpler method of signals waiting for run completion
1 parent 96d39c3 commit e94d16c

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

tests/worker/test_workflow.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)