import time from threading import Lock class WriteThrottle: def __init__(self, min_interval_seconds: float = 3.0): self.min_interval = min_interval_seconds self._lock = Lock() self._last_ts = 0.0 def before_write(self) -> None: with self._lock: now = time.time() delta = now - self._last_ts if delta < self.min_interval: time.sleep(self.min_interval - delta) self._last_ts = time.time()