def __call__(self):
while True:<EOL><INDENT>now = time.time()<EOL>self.db.zremrangebyscore(self.key, <NUM_LIT:0>, now - self.max_age)<EOL>item = self.get(now)<EOL>if item:<EOL><INDENT>LOG.debug("<STR_LIT>" % item)<EOL>return item<EOL><DEDENT>LOG.debug("<STR_LIT>" %<EOL>self.idle_sleep)<EOL>time.sleep(self.idle_sleep)<EOL><DEDENT>
Retrieve the next bucket key to compact.  If no buckets are
available for compacting, sleeps for a given period of time
and tries again.

:returns: The bucket key to compact.