code: def decrease_poolsize(self):
          
          # Take a single session from the pool and discard it. We need to protect this with a lock while we are changing
          # the pool size variable, to avoid race conditions. We must keep at least one session in the pool.
          if self._session_pool_size <= 1:
              raise SessionPoolMinSizeReached('Session pool size cannot be decreased further')
          with self._session_pool_lock:
              if self._session_pool_size <= 1:
                  log.debug('Session pool size was decreased in another thread')
                  return
              log.warning('Lowering session pool size from %s to %s', self._session_pool_size,
                          self._session_pool_size - 1)
              self.get_session().close()
              self._session_pool_size -= 1
docs: Decreases the session pool size in response to error messages from the server requesting to rate-limit
          requests. We decrease by one session per call.