[SP-pm] alarm()
Thomas Britis
thomas em tcnet.com.br
Quarta Janeiro 30 10:45:26 PST 2008
Olá Luis,
Obrigado pela resposta.
Luis Motta Campos wrote:
> Quer dizer: o sistema é uma merda, e você ainda paga por isso... é
> lamentável. (um minuto de silêncio em luto)
Nem sempre podemos mudar o mundo. Eu, pelo menos, tento uma coisa de
cada vez. Não precisa ficar de luto, senão vc ficará de luto todo o tempo.
Ainda mais se tratando de órgão público. Nem sempre o melhor é o que
vai ser contratado. Vc está fora do Brasil e, talvez não se lembre como
as coisas aqui funcionam.
Mas, bola pra frente. Cada um fazendo sua parte por lá.
> local $SIG{ALARM} = sub { die q{Acorda pra cuspir!}; };
> for ( 0..10 ) { # para que isso?
> alarm $timeout;
> my ( $info );
> eval { processa( busca_info( $_ ), $_ ); };
> if( defined $@ && $@ eq q{Acorda pra cuspir!} ) {
> # teu alarme deu timeout: loga o evento, next.
> log( qq{Time out processando $_.} );
> next;
> }elsif( defined $@ ){
> # deu merda, trata erro
> } # else { # não acho que você precisa disso }
> } # for
Obrigado. Era exatamente o que eu procurava.
Vou usar exatamente assim, $SIG{ALRM} = sub { die } e testando a
variável $@ para ver se bate com o motivo do die (sem o defined, como a
dica).
Obrigado, mais uma vez.
--
Thomas Storino Britis
TCNet Informatica e Telecomunicacoes LTDA
Mais detalhes sobre a lista de discussão SaoPaulo-pm