def get(self):
now = time.time()<EOL>while self._clients and self._clients[<NUM_LIT:0>][<NUM_LIT:0>] < now:<EOL><INDENT>_, (client, last_wait) = heapq.heappop(self._clients)<EOL>connect_start = time.time()<EOL>try:<EOL><INDENT>client.echo("<STR_LIT:test>")  <EOL>self._client_ids.remove(client.pool_id)<EOL>yield client<EOL><DEDENT>except (ConnectionError, TimeoutError):<EOL><INDENT>timer = time.time() - connect_start<EOL>wait = min(int(last_wait * self._multiplier), self._max_wait)<EOL>heapq.heappush(self._clients, (time.time() + wait, (client, wait)))<EOL>log.info(<EOL>"<STR_LIT>",<EOL>client,<EOL>timer,<EOL>wait,<EOL>)<EOL><DEDENT><DEDENT>
Get any clients ready to be used.

        :returns: Iterable of redis clients