Как настроить время ожидания соединения в Apache Libcloud при загрузке объектов через поток? - PullRequest
0 голосов
/ 12 февраля 2019

В настоящее время у меня возникает проблема при загрузке файлов на S3:

  File "/home/aviral/dev/versionator-athena/venv/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/home/aviral/dev/versionator-athena/venv/lib/python3.6/site-packages/urllib3/connectionpool.py", line 638, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/home/aviral/dev/versionator-athena/venv/lib/python3.6/site-packages/urllib3/util/retry.py", line 398, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='s3-ap-south-1.amazonaws.com', port=443): Max retries exceeded with url: /sc-pallet/test/temp_feb12_1525/check_pk_s3_append/version_1/version_two_million_eleven_columns.csv_insert_2?uploadId=VLzRQhq0rN1NIHJo0OCvTjbwifmHTfmPfYQZWFdxjr_7oPfC4v5ME7WC_entIDqvW9.AuY.UGQTS1fH2SdYmGCD1ieZPZ7q3Z4qdUaRUqLX2V144Gq4W3H.Ck1fH4Yrx&partNumber=1 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f6b3bedd240>: Failed to establish a new connection: [Errno 110] Connection timed out',))

Мой код для загрузки объектов:

def upload(self, cloud_path, local_path):
        print("Inside upload of storage module.")
        print("Uploading the {} as {}".format(
            local_path,
            cloud_path
        ))
        with open(local_path, 'rb') as iterator:
            self.driver.upload_object_via_stream(
                iterator=iterator,
                container=self.container,
                object_name=cloud_path,
            )

Поскольку файлы очень большие, я решилзагрузить через стрим.Это вызывает проблему, поэтому мне нужно добавить конфигурацию тайм-аута соединения при загрузке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...