def __init__(self, *args, period, min_interval=0, **kwargs):
        """
        Same signature as Checkpoint
        Args:
            period: Only update when the interval counter % period == 0
            min_interval: Only update when the last update
                          happend min_interval minutes ago
        """
        super().__init__(*args, **kwargs)
        assert period >= 1
        self.period = period
        self._period_counter = 0
        self.min_interval = min_interval
        self.last_update_time = time.time()

        Same signature as Checkpoint
        Args:
            period: Only update when the interval counter % period == 0
            min_interval: Only update when the last update
                          happend min_interval minutes ago
        
surreal/utils/checkpoint.py