[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