def run_forever(self, *args, **kwargs):
        sleep(random() * self.interval)
        while True:
            begin = time()
            try:
                self.run_once(*args, **kwargs)
            except (Exception, Timeout):
                self.logger.exception(_('Unhandled exception'))
            elapsed = time() - begin
            if elapsed < self.interval:
                sleep(random() * (self.interval - elapsed))
Test that 'rm -a' for an object without a current version works.
dataset/ETHPy150Open openstack/swift/swift/obj/expirer.py/ObjectExpirer.run_forever--crossover with--dataset/ETHPy150Open GoogleCloudPlatform/gsutil/gslib/tests/test_rm.py/TestRm.test_all_versions_no_current