@@ -94,7 +94,7 @@ def _blocking_request(self, method, url, parameters={}) -> Optional[Union["Respo
9494 return self .async_response
9595
9696 def send_request_while_show_progress_threaded (
97- self , method , url , parameters = {}, request_timeout = 0
97+ self , method , url , parameters = {}, request_timeout = None
9898 ) -> Optional [Union ["Response" , Exception ]]:
9999 try :
100100 request_thread = Thread (target = self ._blocking_request , args = (method , url , parameters ))
@@ -104,28 +104,29 @@ def send_request_while_show_progress_threaded(
104104 return None
105105 seconds = 0.05
106106 minutes = 0
107+ last_log_minute = 0
107108 sleep (seconds )
108109 if self .async_response is not None :
109110 # a quick return for any immediate responses
110111 return self .async_response
111- while (self .async_response is None ) and (request_timeout == 0 or seconds < request_timeout ):
112- self .log_wait_time_then_sleep (minutes , seconds , url )
112+ timed_out : bool = (request_timeout is not None and seconds > request_timeout )
113+ while (self .async_response is None ) and not timed_out :
114+ sleep (DELAY_SLEEP_SECONDS )
113115 seconds = seconds + DELAY_SLEEP_SECONDS
114- if seconds >= 60 :
115- seconds -= 60
116- minutes += 1
116+ minutes = int (seconds / 60 )
117+ last_log_minute = self .log_wait_time (minutes , last_log_minute , url )
117118 return self .async_response
118119
119- def log_wait_time_then_sleep (self , minutes , seconds , url ):
120+ def log_wait_time (self , minutes , last_log_minute , url ) -> int :
120121 logger .debug ("{} Waiting...." .format (datetime .timestamp ()))
121- if seconds >= 60 : # detailed log message ~every minute
122- if minutes % 1 == 0 :
123- logger . info (
124- "[{}] Waiting ({} minutes so far) for request to {}" . format ( datetime . timestamp (), minutes , url )
125- )
126- else :
127- logger .debug ("[{}] Waiting for request to {}" .format (datetime .timestamp (), url ))
128- sleep ( DELAY_SLEEP_SECONDS )
122+ if minutes > last_log_minute : # detailed log message ~every minute
123+ logger . info (
124+ "[{}] Waiting ({} minutes so far) for request to {}" . format ( datetime . timestamp (), minutes , url )
125+ )
126+ last_log_minute = minutes
127+ else :
128+ logger .debug ("[{}] Waiting for request to {}" .format (datetime .timestamp (), url ))
129+ return last_log_minute
129130
130131 def _make_request (
131132 self ,
0 commit comments