'Put a connection back into the pool.
:param conn:
Connection object for the current host and port as returned by
:meth:`._new_conn` or :meth:`._get_conn`.
If the pool is already full, the connection is closed and discarded
because we exceeded maxsize. If connections are discarded frequently,
then maxsize should be increased.
If the pool is closed, then the connection will be closed and discarded.'

def _put_conn(self, conn):

    try:
        self.pool.put(conn, block=False)
        return
    except AttributeError:
        pass
    except Full:
        log.warning(('Connection    pool    is    full,    discarding    connection:    %s' % self.host))
    if conn:
        conn.close()
