[Cascavel-pm] LWP::Simple

Giuseppe Lopes giuseppe em giuseppelopes.com
Segunda Junho 4 06:52:24 PDT 2007


Prezados,

Como configuro um 'timeout' para um get efetuado a uma URL?

Vou explicar o que ocorre, possuimos um script que executa uma URL 
predefinida e armazenada em banco, o processo pai executa um Fork para 
executar todas as URL's, só que tem URL que demoram muito tempo, prendendo o 
processo, gostaria de definir um timeout, para tentar executar a URL em 
tanto tempo ou encerrar o processo.

Segue sub montada para este processo.

use LWP::Simple;

sub startUrl {

    my ($id, $dom, $url) = @_;
    print "$dom > child->get($url)\n\n";
    our $result = get($url);
    print "$dom < child->return($url, ".length($result).")\n";

    my $dbP2Child = conectaP2();
    my $sql = "UPDATE agendamentoLista SET dataUltima = NOW(), bytesAnterior 
= bytesUltima, bytesUltima = ".length($result)." WHERE id = ".$id;
    print "  SQL: $sql\n\n";
    my $ins = $dbP2Child->prepare($sql);
    $ins->execute;

    $ins->finish;
    $dbP2Child->disconnect();
}


Nunca trabalhei com fork e peguei esse script pronto para tentar otimizar.

Agradeço qualquer informação antecipadamente.

Giuseppe Lopes










Mais detalhes sobre a lista de discussão Cascavel-pm