in ez_wsi_dicomweb/patch_embedding.py [0:0]
def _inner_func() -> str:
if _max_requests_per_minute is None:
# embedding request throttling is disabled.
return endpoint.request_embeddings(slide_embeddings)
# embedding request throttling is enabled.
while True:
global _last_request_time
min_sec_between_requests = 60.0 / _max_requests_per_minute
with _request_lock:
current_time = time.time()
# min average time between requests
delta = min_sec_between_requests - (current_time - _last_request_time)
if delta <= 0:
_last_request_time = current_time
return endpoint.request_embeddings(slide_embeddings)
# sleep until delta predicted to expire.
time.sleep(delta)