![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Проблемка со скриптом использующим curl_multi_*
отваливаеться с ошибкой Connection time-out after 17533 ms Опция прописана....
-------------------- |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 5 Всего: 261 |
Параметр таймаута задается в секундах.
|
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Ну дык и указано в секундах
-------------------- |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 5 Всего: 261 |
Ты указал 3000 секунд - это чуть меньше часа. Скрипт разорвал соединение через 17 секунд.
|
|||
|
||||
| alligator |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 28.1.2004 Репутация: нет Всего: 1 |
Так это проблемку вроде решил , но теперь отваливаеться с ошибкой Empty reply from server
Решение пока не нашел -------------------- |
|||
|
||||
| BoneHound |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 31.7.2008 Репутация: нет Всего: нет |
Второй день бьюсь, никак победить не могу... помогите, кто чем может
Значит, общая задача: сделать прокси-чекер. Споткнулся почти сразу же. Вот что удалось наваять: (php5):
p.s. $dest_host в данном случае тот же, на котором размещен скрипт. Скрипт очень хорошо работает, если все прокси рабочие Проверка занимает около 20 секунд. Трабл в следующем, как только один падает - время выполнения затягивается на 60-100 секунд. Причем зависание происходит на второй итерации цикла "implementing multi curl task", в строке "curl_multi_exec($curl_master, $running);". Как я понимаю, он наталкивается на нерабочий прокси, долбится к нему битых полторы минуты, и потом продолжает цикл. И тут - ох ты! оказывается тайм-аут то наступил еще Бог весть когда... так что (ха-ха) курл со спокойной совестью сообщает мне об этом занимательном факте. Мол, я тут полчаса пытался отправить запрос, но таймаут-то 30 секунд, так что - извини - ошибочка! Внимание - вопрос! Как заставить его прекращать попытки соединения сразу же после наступления таймаута? Создается впечатление, что я либо не нашел соответствующей опции/функции курла, либо он тупит по малу (многопотоковые функции курла вроде как еще экспериментальные и недокументированные)... Есть бредовая идея реализовать локальный парраллелизм через proc_open() и stream_select(), а в каждом потоке обычным образом брать тестовую страничку средствами cURL... но это ведь полный копец маразм. P.S. запускать параллельно несколько скриптов не хочется - некрасиво ресурсы транжирить (как я понял, каждый такой поток будет жрать минимум 15мб памяти). В-общем, варианты есть, но может кто подскажет - может можно без ковыряний в ухе пальцем ноги обойтись? Т.е. заставить работать как положено curl_multi... |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Сеть | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |