[Moscow.pm] AnyEvent::HTTP in catalyst

Anton Yuzhaninov citrin на citrin.ru
Ср Авг 19 09:30:45 PDT 2015


Захотелось использовать AnyEvent::HTTP в приложении, которое большую часть 
времени проводит вне AnyEvent, но столкнулся с такой проблемой: соединения 
висящие в keep-alive не закрываются и закрытие коннекций удалённой стороной тоже 
не отслеживается.

Простейший test case выглядит как

http_get

sleep 20; # за это время сервер закроет keep-alive соединение

http_get

Второй GET получает Connection reset by peer

Более полный пример тут: http://termbin.com/n5jp

Без keep-alive этой проблемы не возникнет, но keep-alive хочется, потому что 
подряд делается большая пачка запросов. Можно ли как то обойти эту проблему? 
Например принудительно закрыть keep-alive коннекции после получается всех нужных 
ответов.


Подробная информация о списке рассылки Moscow-pm