@contextlib.contextmanager<EOL><INDENT>def with_client(self):<DEDENT>
client = self.get_client()<EOL>yield client<EOL>self.put_client(client)<EOL>
A context manager that obtains a client for use, whether an
existing unused client or a brand new one if none are
available.