blob: 34ddac7f518534df533e0a2b45374d1813efa34e (
about) (
plain)
1
2
3
4
5
6
7
8
9
|
import asyncio
import random
async def exp_backoff_sleep(attempt: int, max_sleep_time: float = 5) -> None:
base_time = 0.1 # starting sleep time in seconds (100 milliseconds)
jitter = random.uniform(0, base_time) # add random jitter
sleep_time = min(base_time * (2**attempt) + jitter, max_sleep_time)
await asyncio.sleep(sleep_time)
|