code: def set_retry_on_busy(self, total=5, backoff_factor=0.1, status_forcelist=None, **kwargs):
          
          if self.session:
              from requests.adapters import HTTPAdapter
              from requests.packages.urllib3.util.retry import Retry
      
              method_whitelist = kwargs.pop('method_whitelist', []) or ['GET', 'POST', 'PUT']
              status_forcelist = frozenset(status_forcelist) if status_forcelist else frozenset([503])
              retry = Retry(
                  total=total,
                  backoff_factor=backoff_factor,
                  status_forcelist=status_forcelist,
                  method_whitelist=method_whitelist)
              
              for proto_str in ('http://', 'https://'):
                  self.session.mount(proto_str, HTTPAdapter(max_retries=retry))
              logger.debug('Mounting retry object to HTTP session: %s' % retry)
docs: Mount a custom retry object on the current session that allows service level
          retries when the SMC might reply with a Service Unavailable (503) message.
          This can be possible in larger environments with higher database activity.
          You can all this on the existing session, or provide as a dict to the login
          constructor.
          
          :param int total: total retries
          :param float backoff_factor: when to retry
          :param list status_forcelist: list of HTTP error codes to retry on
          :param list method_whitelist: list of methods to apply retries for, GET, POST and
              PUT by default
          :return: None