El 13/10/10 23:03, mipassa escribió:
Cierto todo lo que dices. Pero mi problema podría tratar por ejemplo de
sondear estado de 100K equipos, que mientras llegas o no, te da timeout, y
demás tiempo muertos, estas pasando a los otros 99.999. La cosa es llenar
esos tiempos muertos con algo/thread ocioso y que no haya que estar creando
continuamente costosos hijos/forks/procesos

Thanks again por vuestras sabias opiniones


Que casualidad, entonces, que es parecido al ejemplo que hay en la página de 
manual de Parallel::ForkManager :)


  use LWP::Simple;
  use Parallel::ForkManager;

  #...

  @links=(
    ["http://www.foo.bar/rulez.data","rulez_data.txt";],
    ["http://new.host/more_data.doc","more_data.doc";],
    #...
  );

  #...

  # Max 30 processes for parallel download
  my $pm = new Parallel::ForkManager(30);

  foreach my $linkarray (@links) {
    $pm->start and next; # do the fork

    my ($link,$fn) = @$linkarray;
    warn "Cannot get $fn from $link"
      if getstore($link,$fn) != RC_OK;

    $pm->finish; # do the exit in the child process
  }
  $pm->wait_all_children;


--
JF^D
_______________________________________________
Madrid-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/madrid-pm

Responder a