[Moscow.pm] AnyEven::HTTP перед и после fork с сокетами между процессами
ksvs
ksvs1996 на ymail.com
Ср Окт 16 08:13:04 PDT 2013
то есть запустил
On Wednesday, 16 October 2013, 18:06, ksvs <ksvs1996 на ymail.com> wrote:
Зупусти с этим переопределением.
Судя, по нижеприведенномо логу резолвинг прошел. Или нет?
А в чем именно проблема?
Почему так падает скорость?
On Wednesday, 16 October 2013, 17:17, Mons Anderson <mons на cpan.org> wrote:
Подтверждаю, проблема с форками в AnyEvent::DNS.
Сокет там UDP'шный.
у нас решается так:
use AnyEvent::DNS ();
BEGIN {
no warnings 'redefine';
my $RESOLVER;
my $FORPID = 0;
my $res = \&AnyEvent::DNS::resolver;
*AnyEvent::DNS::resolver = sub () {
undef $RESOLVER if $FORPID != $$;
$RESOLVER || do {
#warn "Create overriden resolver for $$. previous was for $FORPID";
undef $AnyEvent::DNS::RESOLVER;
local $AnyEvent::DNS::RESOLVER;
$FORPID = $$;
$RESOLVER = AnyEvent::DNS->$res();
};
};
# для дебага:
my $new = \&AnyEvent::DNS::new;
*AnyEvent::DNS::new = sub {
Carp::cluck( "$$: Creating DNS resolver" );
goto &$new;
};
}
--
Moscow.pm mailing list
moscow-pm на pm.org | http://moscow.pm.org
Подробная информация о списке рассылки Moscow-pm