<html><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:10pt"><div><span>Так в последнем предложении было сказано, что это учитывается.</span></div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; background-color: transparent; font-style: normal;"><br><span></span></div><div style="color: rgb(0, 0, 0); font-size: 13.3333px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,Sans-Serif; background-color: transparent; font-style: normal;"><span></span></div><div style="display: block;" class="yahoo_quoted"> <br> <br> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 10pt;"> <div style="font-family: HelveticaNeue, Helvetica Neue,
Helvetica, Arial, Lucida Grande, Sans-Serif; font-size: 12pt;"> <div dir="ltr"> <font face="Arial" size="2"> On Wednesday, 9 October 2013, 11:47, Гришаев Анатолий <0body0@rambler.ru> wrote:<br> </font> </div> <div class="y_msg_container"><div id="yiv6134009867"><div>
<div class="yiv6134009867moz-cite-prefix">AnyEvent::HTTP сохраняет коннекты для
повторного использования и после fork с ними происходит каша...<br clear="none">
<br clear="none">
Попробуй до fork использовать AnyEvent::HTTP с параметром
keepalive => 0<br clear="none">
<br clear="none">
<br clear="none">
09.10.2013 7:26, ksvs пишет:<br clear="none">
</div>
<div class="yiv6134009867yqt5946806063" id="yiv6134009867yqt55651"><blockquote type="cite">
<div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, Sans-Serif;font-size:10pt;">
<div>Есть приложение, в котором главный процесс и дочерние
общаются между собой по сокетам, используя EV модуль.<br clear="none">
Дочерние процессы получают информацию от главного, делают HTTP
запросы, анализируют и возвращают результат главному. В
дочерних процессах запросы идут параллельно с использованием
либо Net::Curl::Multi, либо AnyEven::HTTP.<br clear="none">
<br clear="none">
Все было отлично, пока не понадобилось в главном процессе
перед fork, сделать HTTMP запрос. LWP использовать можно, но
не хочется.<br clear="none">
Используемые варианты:<br clear="none">
1. Делаем первый запрос при помощи AnyEven::HTTP, дочерние
работают с Curl - все отлично. Это для проверки.<br clear="none">
2. Делаем первый запрос при помощи AnyEven::HTTP на
несуществующий адрес, дочерние работают с AnyEven::HTTP - все
нормально.<br clear="none">
3. Делаем первый запрос при помощи AnyEven::HTTP на
существующий адрес, работа AnyEven::HTTP в дочерних процессах
зависает. При этом общение между процессами идет: гонял ping
для подтверждения того, что EV не завис и система коммуникаций
между процессами жива.<br clear="none">
<br clear="none">
Может кто-то сталкивался с таким поведением AnyEven::HTTP?<br clear="none">
<br clear="none">
Сделал максимально простой вариант для теста.<br clear="none">
В нем с первоначальным вызовом AnyEven::HTTP, в дочернем
процессе AnyEven::HTTP, стал работать, но очень-очень
медленно. Точнее все зависит от того, как карты лягут: без
первого вызова время выполнения 1,24 секунды, а с первым -
может быть 21 секунд, а может быть 5 секунд.<br clear="none">
<br clear="none">
<br clear="none">
Но ведь с Curl работает отлично. Значит дело не в EV, а в
AnyEven::HTTP.<br clear="none">
Для подтверждения этого вместо первого вызова AnyEven::HTTP,
сделал просто открытие сокета, EV::WRITE, EV::READ - все
работает отлично.<br clear="none">
<br clear="none">
AnyEven::HTTP настраивал, чтобы он закрывал все сокеты. Это
перед форком. Да и делается ведь EV::break перед форком.<br clear="none">
<br clear="none">
Интересно понять причину этого.</div>
</div>
<br clear="none">
<fieldset class="yiv6134009867mimeAttachmentHeader"></fieldset>
<br clear="none">
</blockquote></div>
<br clear="none">
<br clear="none">
<div class="yiv6134009867moz-signature">-- <br clear="none">
С уважением Анатолий.</div>
</div></div><br><div class="yqt5946806063" id="yqt90621">-- <br clear="none">Moscow.pm mailing list<br clear="none"><a shape="rect" ymailto="mailto:moscow-pm@pm.org" href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a shape="rect" href="http://moscow.pm.org/" target="_blank">http://moscow.pm.org</a><br clear="none"></div><br><br></div> </div> </div> </div> </div></body></html>