pyCurl загружает процессор, когда я добавляю опцию MAX_SEND_SPEED_LARGE

Мое приложение использует PyCurl для загрузки нескольких файлов один за другим. Он отлично работает со всеми параметрами cURL, а потребление ЦП остается ниже 1%. Когда я добавляю параметр MAX_SEND_SPEED_LARGE для ограничения пропускной способности, потребление ЦП достигает 100%.

c.setopt(c.MAX_SEND_SPEED_LARGE, int(rate_limit))

Дальнейшее расследование показывает, что это происходит только в OS X 10.9.


person Nilay Anand    schedule 30.11.2013    source источник


Ответы (1)


  • Вы работаете с libcurl ‹ 7.31.0?
  • Также: вы используете функцию прогресса?

Если да, я бы сказал, что вы, возможно, столкнулись с ошибкой, которая была исправлена ​​в libcurl 7.31.0, то есть curl_easy_perform: избегайте зацикливания:

Я использую pycurl в небольшом скрипте для загрузки видео с курса [...] он постоянно зависает на 1 ядре машины [...] Я могу подтвердить, что это происходит, и только когда ограничение скорости для загрузки/ загрузка выполняется.

С исправлением можно ознакомиться здесь.

person deltheil    schedule 01.12.2013
comment
Это действительно проблема libcurl 7.30.0. Спасибо, что указали мне на точное решение. - person Nilay Anand; 03.12.2013