def enforce(self, request=None):
self.timings[id(request)].append(time.time())
tries = len(self.timings[id(request)])
if tries == 1:
return
if self.try_limit is not None and tries >= self.try_limit:
raise FailedRetry
wait_time = self.sleep_func(self.timings[id(request)])
if wait_time is None or wait_time == 0:
return
elif wait_time < 0:
raise FailedRetry
log.debug("Waiting %d seconds until next try.", wait_time)
yield gen.sleep(wait_time)
评论列表
文章目录