Как обработать request.exceptions.ChunkedEncodingError, используя HTTP-библиотеку запросов для Python3? - PullRequest
0 голосов
/ 16 апреля 2020

Я иногда сталкиваюсь со следующей ошибкой при выполнении кода ниже:

requests.exceptions.ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))

Чтобы смягчить эту ошибку, я попытался сделать свой код более устойчивым к ошибкам, добавив аргумент max_retries=Retry(connect=5, read=3, backoff_factor=1))) в HTTPAdapter. Это должно AFAIK сделать код способным обрабатывать временные сбои сети. Тем не менее, я снова столкнулся с ошибкой.

Как мне исправить ошибку? Сервер работает 24/7, поэтому это должна быть временная проблема сети, а не вызванная сервером cra sh.

def __process_page_set(self, url):
    try:
        with requests.Session() as rs:
            try:
                rs.mount('https://', HTTPAdapter(
                    pool_connections=10, 
                    pool_maxsize=10, 
                    max_retries=Retry(connect=5, read=3, backoff_factor=1)))
                with rs.get(url, params={}, headers={}, auth=self.auth, verify=self.ssl_verify) as resp:
                    resp.raise_for_status()
                    resp_json = resp.json()
                    ...
            except Exception as e:
                logging.exception('Unable to process page set: {}'.format(url))
                return
        ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...