[SP-pm] alarm()
Thomas Britis
thomas em tcnet.com.br
Terça Janeiro 29 05:12:50 PST 2008
Senhores,
Tenho um problema e gostaria de pedir algumas opiniões.
Tenho um looping que faz uma busca de informações em alguns sistemas
externos.
O problema é que as vezes, um desses sistemas trava. Mas, a conexão é
estabelecida, a informação é solicitada, mas ele não entrega a resposta.
Esses sistemas são proprietários e já foi aberto ticket para solução do
problema.
Enquanto isso, preciso fazer algo para agilizar a captura das
informações dos outros sistemas.
Pensei então em fazer um alarm() dentro do looping e descartar após
alguns segundos a busca atual, algo como, só que não consigo fazer um
next() usando o $SIG{ALRM}.
O que eu pensei era algo como:
for (0..10) {
local $SIG{ARLM} = sub { next; };
alarm 5;
$info = &busca_info ($_);
&processa ($info, $_);
alarm 0;
}
Mas, não funciona pois o perl interepreta o next fora do looping, e
dentro apenas do sub{}.
Alguém tem alguma idéia de como fazer isso?
Obrigado.
--
Thomas Storino Britis
TCNet Informatica e Telecomunicacoes LTDA
Mais detalhes sobre a lista de discussão SaoPaulo-pm