@skomoroh

pycurl.CurlMulti

Подскажите куда копать с CurlMulti.

Такая поблема: при запуске curl в однопоточном режиме, все отлично и быстро работает
for url in url_list:
    curl = get_curl(url)
    try:
        curl.perform()
        callback_func(curl)
    except pycurl.error, e:
        logging.error("%s:%s" % (e[0],e[1]))

таймауты стоят
    c.setopt(pycurl.CONNECTTIMEOUT, 10)
    c.setopt(pycurl.TIMEOUT, 15)


но при запуске
m = pycurl.CurlMulti()
m.handles = []
for url in url_list[:10]:
    c = get_curl(url)
    m.handles.append(c)    
    m.add_handle(c)
ret, num_handles = m.perform()

на m.perform() думает 10-15 минут и все curl возвращаются с
28: Connection time-out
или
28: Operation timed out after 11201 milliseconds with 0 out of -1 bytes received
  • Вопрос задан
  • 3029 просмотров
Решения вопроса 1
@skomoroh Автор вопроса
Всем спасибо, проблему решил:
1 cнес системный libcurl
2 скачал исходник последнего курла с curl.haxx.se/download.html
3 ./configure --enable-ares --with-ssl --enable-ipv6 --with-libidn
make
sudo checkinstall -D
4 sudo pip install -U --force-reinstall pycurl
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы