def _get_available_host_retry(self): def notify_retry(exc_type, exc_val, exc_tb): if self._on_retry: self._on_retry(self, exc_type, exc_val, exc_tb, dict(config=self._configuration_input)) return retry( self._get_available_host, self.max_attempts, self.min_retry_secs, self.max_retry_secs, on_retry=notify_retry)
def _get_available_host_retry(self): def notify_retry(exc_type, exc_val, exc_tb): if self._on_retry: self._on_retry(self, exc_type, exc_val, exc_tb, dict(config=self._configuration_input)) return retry(self._get_available_host, self.max_attempts, self.min_retry_secs, self.max_retry_secs, on_retry=notify_retry)
def _rest_retry(self, method, resource, query_id=None, subcategory=None, second_query_id=None, data=None, dont_retry=None, **options): """Invokes the specified HTTP method, with retries if they are specified in the configuration :return: an instance of OpenCGAResponseList""" query_ids_str = self._get_query_id_str(query_id) def exec_retry(): return execute(host=self._cfg.host, version=self._cfg.version, sid=self.session_id, category=self._category, subcategory=subcategory, method=method, query_id=query_ids_str, second_query_id=second_query_id, resource=resource, data=data, options=options) def notify_retry(exc_type, exc_val, exc_tb): if self.on_retry: self.on_retry( self, exc_type, exc_val, exc_tb, dict(method=method, resource=resource, query_id=query_id, category=self._category, subcategory=subcategory, second_query_id=second_query_id, data=data, options=options)) response = retry(exec_retry, self._cfg.max_attempts, self._cfg.min_retry_secs, self._cfg.max_retry_secs, login_handler=self._client_login_handler if self.login_handler else None, on_retry=notify_retry, dont_retry=dont_retry) if self.auto_refresh: self._refresh_token_client() return OpenCGAResponseList(response, query_ids_str)
def _rest_retry(self, method, resource, query_id=None, subcategory=None, second_query_id=None, data=None, dont_retry=None, **options): """Invokes the specified HTTP method, with retries if they are specified in the configuration :return: an instance of OpenCGAResponseList""" query_ids_str = self._get_query_id_str(query_id) def exec_retry(): return execute(host=self._cfg.host, version=self._cfg.version, sid=self.session_id, category=self._category, subcategory=subcategory, method=method, query_id=query_ids_str, second_query_id=second_query_id, resource=resource, data=data, options=options) def notify_retry(exc_type, exc_val, exc_tb): if self.on_retry: self.on_retry(self, exc_type, exc_val, exc_tb, dict( method=method, resource=resource, query_id=query_id, category=self._category, subcategory=subcategory, second_query_id=second_query_id, data=data, options=options )) response = retry( exec_retry, self._cfg.max_attempts, self._cfg.min_retry_secs, self._cfg.max_retry_secs, login_handler=self._client_login_handler if self.login_handler else None, on_retry=notify_retry, dont_retry=dont_retry) if self.auto_refresh: self._refresh_token_client() return OpenCGAResponseList(response, query_ids_str)