Thread Installation von LWP::Parallel::UserAgent (14 answers)
Opened by bianca at 2016-01-11 10:49

bianca
 2016-01-12 12:16
#183485 #183485
User since
2009-09-13
7016 Artikel
BenutzerIn

user image
Ich verstehe das Prinzip von fork nicht so ganz. Hier mein Versuch:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/perl
use strict;
use warnings;
use 5.010;

require LWP::UserAgent;
foreach my $url ('http://www.google.de','https://www.youtube.com/') {
    my $pid;
    # Vater
    if ($pid = fork()) {
        say 'wie kann man hier feststellen, ob beide Soehne fertig sind?';
    }
    # Sohn
    else {
        my $ua = LWP::UserAgent->new;
        my $response = $ua->get($url);
        if ($response->is_success) {
            say $url.' liefert '.length($response->decoded_content).' Byte';
        }
        else {
            die 'Fehler '.$response->status_line.' in '.__LINE__;
        }
    }
}

Ergebnis:
Quote
wie kann man hier feststellen, ob beide Soehne fertig sind?
wie kann man hier feststellen, ob beide Soehne fertig sind?
http://www.google.de/ liefert 19485 Byte
wie kann man hier feststellen, ob beide Soehne fertig sind?
https://www.youtube.com/ liefert 327637 Byte
https://www.youtube.com/ liefert 371774 Byte

Das ist natürlich nicht das erwartete Ergebnis. Ich möchte gern zwei LWP Requests parallel starten. Wie muss das aussehen?
10 print "Hallo"
20 goto 10

View full thread Installation von LWP::Parallel::UserAgent