Skip to content

Commit b693873

Browse files
authored
feat: added client.wait_for_start() (#87)
1 parent 16ff14f commit b693873

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

aw_client/client.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,20 @@ def disconnect(self):
372372
# Throw away old thread object, create new one since same thread cannot be started twice
373373
self.request_queue = RequestQueue(self)
374374

375+
def wait_for_start(self, timeout: int = 10) -> None:
376+
"""Wait for the server to start by trying to get the server info."""
377+
start_time = datetime.now()
378+
sleep_time = 0.1
379+
while (datetime.now() - start_time).seconds < timeout:
380+
try:
381+
self.get_info()
382+
break
383+
except req.exceptions.ConnectionError:
384+
sleep(sleep_time)
385+
sleep_time *= 2
386+
else:
387+
raise Exception("Server did not start in time")
388+
375389

376390
QueuedRequest = namedtuple("QueuedRequest", ["endpoint", "data"])
377391
Bucket = namedtuple("Bucket", ["id", "type"])

0 commit comments

Comments
 (0)