Coder Social home page Coder Social logo

Comments (5)

vv-m avatar vv-m commented on June 20, 2024

Дождался наконец исключения

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/vladmironov2/Главная/Dev/notion_auto_backup/main.py", line 64, in
y.upload(path_downloaded_backup, path_downloaded_backup)
File "/Users/vladmironov2/Главная/Dev/notion_auto_backup/venv/lib/python3.9/site-packages/yadisk/yadisk.py", line 684, in upload
self._upload(self.get_upload_link, file_or_path, dst_path, **kwargs)
File "/Users/vladmironov2/Главная/Dev/notion_auto_backup/venv/lib/python3.9/site-packages/yadisk/yadisk.py", line 652, in _upload
auto_retry(attempt, n_retries, retry_interval)
File "/Users/vladmironov2/Главная/Dev/notion_auto_backup/venv/lib/python3.9/site-packages/yadisk/utils.py", line 99, in auto_retry
raise e
File "/Users/vladmironov2/Главная/Dev/notion_auto_backup/venv/lib/python3.9/site-packages/yadisk/utils.py", line 96, in auto_retry
return func()
File "/Users/vladmironov2/Главная/Dev/notion_auto_backup/venv/lib/python3.9/site-packages/yadisk/yadisk.py", line 648, in attempt
with contextlib.closing(session.put(link, data=file, **temp_kwargs)) as response:
File "/Users/vladmironov2/Главная/Dev/notion_auto_backup/venv/lib/python3.9/site-packages/requests/sessions.py", line 649, in put
return self.request("PUT", url, data=data, **kwargs)
File "/Users/vladmironov2/Главная/Dev/notion_auto_backup/venv/lib/python3.9/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
File "/Users/vladmironov2/Главная/Dev/notion_auto_backup/venv/lib/python3.9/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
File "/Users/vladmironov2/Главная/Dev/notion_auto_backup/venv/lib/python3.9/site-packages/requests/adapters.py", line 501, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', timeout('The write operation timed out'))

from yadisk.

ivknv avatar ivknv commented on June 20, 2024

Это известная проблема. Если кратко, для определённых типов файлов REST API режет скорость загрузки на диск до 128 КБ/с. Единственный способ обойти ограничение - это указывать другое расширение файла.

from yadisk.

vv-m avatar vv-m commented on June 20, 2024

Спасибо за ответ!
Меня скорость не сильно беспокоит - главное что б загрузилось по итогу.
Какой таймаут посоветуете установить на 150 Мб - 200 Мб для ZIP?
Сейчас установил timeout=(15, 250)
Жду ... пока висит.
А то тестами не подобрать быстро, тк по 20 мин висит. А потом исключение выдает.

from yadisk.

ivknv avatar ivknv commented on June 20, 2024

Тяжело сказать, длинные промежутки ожидания возникают из-за того что Яндекс.Диск применяет ограничение скорости с задержкой. К моменту как ограничение скорости вступает в силу, вы могли загрузить на диск несколько десятков МБ данных. Вместо стабильной скорости вы получаете редкие кратковременные скачки до максимальной скорости и очень длинные периоды полного бездействия.

Вместо подбора таймаута я бы порекомендовал попробовать ограничить скорость загрузки со своей стороны (по крайней-мере насколько это возможно с requests), тогда периоды ожидания должны уменьшится.

Теоретически (если ограничение считается за фиксированный интервал времени), для скорости загрузки в 10 МБ/с время ожидания может составить около 78 с, при скорости в 100 МБ/с - уже около 780 c. Но совсем не факт, что вы сможете поддерживать соединение все это время на самом деле.

Но проще мне кажется всё-таки загружать файл с другим расширением и потом переименовывать обратно.

from yadisk.

vv-m avatar vv-m commented on June 20, 2024

Спасибо за развернутый ответ!

from yadisk.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.