MCPcopy Create free account
hub / github.com/It4innovations/hyperqueue / wait_until

Function wait_until

tests/utils/wait.py:13–26  ·  view source on GitHub ↗
(fn, sleep_s=0.2, on_timeout=None, timeout_s=DEFAULT_TIMEOUT)

Source from the content-addressed store, hash-verified

11
12
13def wait_until(fn, sleep_s=0.2, on_timeout=None, timeout_s=DEFAULT_TIMEOUT):
14 end = time.time() + timeout_s
15
16 while time.time() < end:
17 value = fn()
18 if value is not None and value is not False:
19 return value
20 time.sleep(sleep_s)
21 extra_info = None
22 if on_timeout is not None:
23 extra_info = on_timeout()
24 if extra_info is None:
25 extra_info = ""
26 raise TimeoutException(f"Wait timeouted after {timeout_s} seconds\n{extra_info}")
27
28
29TERMINAL_STATES = ["failed", "cancelled", "finished"]

Calls 5

on_timeoutFunction · 0.85
timeMethod · 0.80
sleepMethod · 0.80
TimeoutExceptionClass · 0.70
fnFunction · 0.50