def eventuallyAny(coroFunc, *args, retryWait: float = 0.01,
timeout: float = 5):
start = time.perf_counter()
def remaining():
return start + timeout - time.perf_counter()
remain = remaining()
data = None
while remain >= 0:
res = await coroFunc(*args)
(complete, data) = res
if complete:
return data
remain = remaining()
if remain > 0:
await asyncio.sleep(retryWait)
remain = remaining()
return data
评论列表
文章目录