@@ -53,20 +53,21 @@ async def handle_async_request(self, request: httpx.Request) -> httpx.Response:
5353 # Caculate seconds since the last request has been fired and corresponding wait time
5454 time_elapsed = time .monotonic () - self ._last_request_time
5555 remaining_wait = max (0 , self ._wait_time - time_elapsed )
56- log .info ("Configured base wait time: %.3f s" , self ._wait_time )
57- log .info (
58- "Time elapsed since last request:%.3f.\n Waiting for at least %.3f s" ,
56+ log .debug (
57+ "Time elapsed since last request: %.3f s.\n Remaining wait time: %.3f s." ,
5958 time_elapsed ,
6059 remaining_wait ,
6160 )
6261
6362 # Add jitter to both cases and sleep
6463 if remaining_wait < self ._jitter :
65- time .sleep (random .uniform (remaining_wait , self ._jitter )) # noqa: S311
64+ sleep_for = random .uniform (remaining_wait , self ._jitter ) # noqa: S311
65+ log .debug ("Sleeping for %.3f s." )
66+ time .sleep (sleep_for )
6667 else :
67- time . sleep (
68- random . uniform ( remaining_wait , remaining_wait + self . _jitter ) # noqa: S311
69- )
68+ sleep_for = random . uniform ( remaining_wait , remaining_wait + self . _jitter ) # noqa: S311
69+ log . debug ( "Sleeping for %.3f s." )
70+ time . sleep ( sleep_for )
7071
7172 # Delegate call and update timestamp
7273 response = await self ._transport .handle_async_request (request = request )
@@ -79,12 +80,13 @@ async def handle_async_request(self, request: httpx.Request) -> httpx.Response:
7980 retry_after = response .headers .get ("Retry-After" )
8081 if retry_after :
8182 self ._wait_time = float (retry_after )
82- log .info ("Received retry after response: %.3f s" , self ._wait_time )
83+ log .info ("Received retry after response: %.3f s. " , self ._wait_time )
8384 else :
8485 log .warning (
85- "Retry-After header not present in 429 response, using fallback instead ."
86+ "Retry-After header not present in 429 response. \n Delegating to underlying wait strategy ."
8687 )
87- self ._wait_time = self ._jitter
88+ # Modify response headers to communicate intent to retry layer
89+ response .headers ["Should-Wait" ] = "true"
8890 self ._num_requests = 0
8991 elif self ._reset_after and self ._reset_after <= self ._num_requests :
9092 self ._wait_time = 0
0 commit comments