import time class AgencyThrottle: def __init__(self, min_interval=1.0): self.min_interval = min_interval self.last_call = 0 self.healthy = True async def wait(self): delta = time.time() - self.last_call if delta < self.min_interval: await asyncio.sleep(self.min_interval - delta) self.last_call = time.time() def mark_unhealthy(self): self.healthy = False