Get a bucket key to compact.  If none are available, returns
        None.  This uses a Lua script to ensure that the bucket key is
        popped off the sorted set in an atomic fashion.

        :param now: The current time, as a float.  Used to ensure the
                    bucket key has been aged sufficiently to be
                    quiescent.

        :returns: A bucket key ready for compaction, or None if no
                  bucket keys are available or none have aged
                  sufficiently.

def get(self, now):
        """
        Get a bucket key to compact.  If none are available, returns
        None.  This uses a Lua script to ensure that the bucket key is
        popped off the sorted set in an atomic fashion.

        :param now: The current time, as a float.  Used to ensure the
                    bucket key has been aged sufficiently to be
                    quiescent.

        :returns: A bucket key ready for compaction, or None if no
                  bucket keys are available or none have aged
                  sufficiently.
        """

        items = self.script(keys=[self.key], args=[now - self.min_age])
        return items[0] if items else None