Skip to content

Commit 53135cd

Browse files
authored
Async methods obviously need AsyncRetrying, dummy. (#176)
* Async methods obviously need AsyncRetrying, dummy. --------- Co-authored-by: Raymond Wiker <rayw@equinor.com>
1 parent acc6418 commit 53135cd

3 files changed

Lines changed: 24 additions & 5 deletions

File tree

src/sumo/wrapper/_blob_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,6 @@ async def _put():
5454
async with httpx.AsyncClient() as client:
5555
return await client.put(url=url, content=blob, headers=headers)
5656

57-
retryer = self._retry_strategy.make_retryer()
57+
retryer = self._retry_strategy.make_retryer_async()
5858

5959
return await retryer(_put)

src/sumo/wrapper/_retry_strategy.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,22 @@ def make_retryer(self):
5454
retry_error_callback=_return_last_value,
5555
before_sleep=_log_retry_info,
5656
)
57+
58+
def make_retryer_async(self):
59+
return tn.AsyncRetrying(
60+
stop=tn.stop_after_attempt(self._stop_after),
61+
retry=(
62+
tn.retry_if_exception(_is_retryable_exception)
63+
| tn.retry_if_result(_is_retryable_status_code)
64+
),
65+
wait=(
66+
tn.wait_exponential(
67+
multiplier=self._multiplier, exp_base=self._exp_base
68+
)
69+
+ tn.wait_random_exponential(
70+
multiplier=self._multiplier, exp_base=self._exp_base
71+
)
72+
),
73+
retry_error_callback=_return_last_value,
74+
before_sleep=_log_retry_info,
75+
)

src/sumo/wrapper/sumo_client.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ async def _get():
388388
timeout=DEFAULT_TIMEOUT,
389389
)
390390

391-
retryer = self._retry_strategy.make_retryer()
391+
retryer = self._retry_strategy.make_retryer_async()
392392

393393
return await retryer(_get)
394394

@@ -466,7 +466,7 @@ async def _post():
466466
timeout=DEFAULT_TIMEOUT,
467467
)
468468

469-
retryer = self._retry_strategy.make_retryer()
469+
retryer = self._retry_strategy.make_retryer_async()
470470

471471
return await retryer(_post)
472472

@@ -514,7 +514,7 @@ async def _put():
514514
timeout=DEFAULT_TIMEOUT,
515515
)
516516

517-
retryer = self._retry_strategy.make_retryer()
517+
retryer = self._retry_strategy.make_retryer_async()
518518

519519
return await retryer(_put)
520520

@@ -554,6 +554,6 @@ async def _delete():
554554
timeout=DEFAULT_TIMEOUT,
555555
)
556556

557-
retryer = self._retry_strategy.make_retryer()
557+
retryer = self._retry_strategy.make_retryer_async()
558558

559559
return await retryer(_delete)

0 commit comments

Comments
 (0)