Павел, а для чего вам это нужно?
Если для того, чтобы скачать как можно быстрее некий список URL, то
рекомендую Parallel::Downloader, он как раз на основе AnyEvent::HTTP. А еще
для подобных целей бывают AnyEvent::Curl::Multi
и AnyEvent::Net::Curl::Queued. Ну и на основе Mojo::UserAgent тоже довольно
просто такое сделать: https://gist.github.com/creaktive/4347600

2015-10-02 9:29 GMT+02:00 Павел Купцов <[email protected]>:

> В итоге сделал так:
>
> my $max = 100;#
> $AnyEvent::HTTP::MAX_PER_HOST = $max;
>
> ...
> $cv->begin;
>     http_get $url,
>     cookie_jar => {},
>     recurse => 3,
>     headers => {
>                 'user-agent' => 'Mozilla/5.0 (Windows NT 6.1)
> AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',
>                 referer => 'http://referer.com'
>                 },
>     timeout => 20,
> ...
>
>
> Пока полет нормальный. Ну и с учетом того что у меня идет опрос по списку
> урлов и все домены уникальны - то не думаю что нанесу вред какому-то сайту
> персонально :)).
>
> --
> Павел
>
> 1 октября 2015 г., 22:00 пользователь <[email protected]> написал:
>
>> Сообщения, предназначенные для списка
>> рассылки Moscow-pm, отправляйте по адресу
>>         [email protected]
>>
>> Для изменения параметров подписки или
>> отписки используйте веб-страницу
>>         http://mail.pm.org/mailman/listinfo/moscow-pm
>> или отправьте письмо, в теле или теме
>> которого будет слово 'help', по адресу
>>         [email protected]
>>
>> Адрес администратора этого списка
>> рассылки:
>>         [email protected]
>>
>> При ответе, пожалуйста, измените тему
>> письма на более содержательную чем "Re:
>> Содержание дайджеста списка рассылки
>> Moscow-pm..."
>>
>>
>> В этом номере:
>>
>>    1. Re: AnyEvent::HTTP MAX_PER_HOST (Ivan Petrov)
>>    2. Re: AnyEvent::HTTP MAX_PER_HOST (Ruslan Zakirov)
>>    3. Re: AnyEvent::HTTP MAX_PER_HOST (Alexey Shrub)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Thu, 1 Oct 2015 15:27:51 +0300
>> From: Ivan Petrov <[email protected]>
>> To: [email protected]
>> Subject: Re: [Moscow.pm] AnyEvent::HTTP MAX_PER_HOST
>> Message-ID: <[email protected]>
>> Content-Type: text/plain; charset=utf-8
>>
>> > Доброго времени суток!
>> > А кто-нибудь в сабжевом модуле менял это значение в большую сторону?
>>
>> > our $MAX_PER_HOST       =   4; # changing this is evil
>>
>> > и почему это зло? :))
>>
>>
>> злом видимо он считал потому что AnyEvent'ом легко DDOS организовать.
>>
>>
>> а так если у Вас например API между Вашими двумя серверами то сам бог
>> велел сюда 100500 вписывать :)
>>
>> я кстати не знаю пофиксил ли он багу еще с этим связанную
>>
>> $MAX_PER_HOST = 1;
>> for (1 .. 100) {
>>     http_get 'domain.to', timeout => 10, rouse_cb;
>> }
>>
>> если domain.to отвечает 30 секунд, то таймаут 10 работал только на
>> $MAX_PER_HOST запросах, а остальные могли ждать бесконечности.
>>
>> я еще не смотрел этот момент исправили или нет
>>
>>
>> ------------------------------
>>
>> Message: 2
>> Date: Thu, 1 Oct 2015 18:38:47 +0300
>> From: Ruslan Zakirov <[email protected]>
>> To: "Moscow.pm group" <[email protected]>
>> Subject: Re: [Moscow.pm] AnyEvent::HTTP MAX_PER_HOST
>> Message-ID:
>>         <
>> camoxc8ti87_hf2o-rdquf7oxaspz5pt92yyhxclaj-ke+70...@mail.gmail.com>
>> Content-Type: text/plain; charset="utf-8"
>>
>> Менял до 100000. Зло если к чужому домену одновременно открываешь много
>> коннектов.
>>
>> 2015-10-01 12:30 GMT+03:00 Павел Купцов <[email protected]>:
>>
>> > Доброго времени суток!
>> > А кто-нибудь в сабжевом модуле менял это значение в большую сторону?
>> >
>> > our $MAX_PER_HOST       =   4; # changing this is evil
>> >
>> > и почему это зло? :))
>> >
>> >
>> > --
>> > Павел
>> >
>> >
>> > --
>> > Moscow.pm mailing list
>> > [email protected] | http://moscow.pm.org
>> >
>> >
>>
>>
>> --
>> Best regards, Ruslan.
>> ----------- следущая часть -----------
>> Вложение в формате HTML было извлечено&hellip;
>> URL: <
>> http://mail.pm.org/pipermail/moscow-pm/attachments/20151001/c06c815e/attachment-0001.html
>> >
>>
>> ------------------------------
>>
>> Message: 3
>> Date: Thu, 01 Oct 2015 20:54:10 +0300
>> From: Alexey Shrub <[email protected]>
>> To: "Moscow.pm group" <[email protected]>
>> Subject: Re: [Moscow.pm] AnyEvent::HTTP MAX_PER_HOST
>> Message-ID: <[email protected]>
>> Content-Type: text/plain; charset="utf-8"; Format="flowed"
>>
>> Там ещё где-то в дебрях (вроде в AnyEvent::DNS)
>> есть лимит на днс резолвинг, надо его
>> тоже выкручивать, иначе при проблемах
>> с какой-нибудь зоной всё начнёт
>> тормозить
>>
>> On Чт, окт 1, 2015 в 6:38 , Ruslan Zakirov
>> <[email protected]> wrote:
>> >> our $MAX_PER_HOST       =   4; # changing this is evil
>> ----------- следущая часть -----------
>> Вложение в формате HTML было извлечено&hellip;
>> URL: <
>> http://mail.pm.org/pipermail/moscow-pm/attachments/20151001/9ea081ab/attachment-0001.html
>> >
>>
>> ------------------------------
>>
>> Subject: Нижний колонтитул дайджеста
>>
>> _______________________________________________
>> Moscow-pm mailing list
>> [email protected]
>> http://mail.pm.org/mailman/listinfo/moscow-pm
>>
>>
>> ------------------------------
>>
>> Конец Дайджест списка рассылки Moscow-pm; том 96, выпуск 3
>>
>> **********************************************************************************************
>>
>
>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org
>
>
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить