Thread Wartezeit erhöhen in http.pm? (14 answers)
Opened by gubach at 2013-01-28 14:43

Linuxer
 2013-01-28 22:30
#165265 #165265
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Naja, da ich Deinen Code nicht habe, hier ein kleines Anschauungsbeispiel:

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
25
26
27
28
#! /usr/bin/perl
use strict;
use warnings;

sub selfkill {

    # Zufall bestimmen; mal stirbt das Skript, mal nicht
    int(rand(2)) == int(rand(2))
      ? die "Nu ist Schluss...\n"
      : return 0;
}

# Sollte selfkill ein die() ausrufen, wird das vom eval
# aufgefangen; und das Ergebnis sollte direkt kontrolliert werden
# die 1 ist wichtig; sollte selfkill nicht sterben, dann liefert
# der Code-Block dank der 1 ein wahres Ergebnis und das 
# "or warn..." wird nicht ausgeführt
eval {
  selfkill();
  1;
} or warn "selfkill() hat zugeschlagen: $@\n";

# Ausgaben, um zu zeigen, dass wir noch leben
print "ich lebe noch....\n";
print "bis jetzt...\n";

# "normaler" Aufruf, der uns beendet
selfkill();


selfkill() ist eine Funktion, die via die() das Programm beenden kann, je nachdem, wie der Zufall so spielt.
Daher rufe ich die Funktion in einem eval-Block auf und werte dann das Resultat des eval aus. Sollte das die() zugeschlagen haben, steht die Meldung in $@.

Wenn in Deinem Fall $photoid = $ua->upload() der kritische Code ist, dann lege diesen in den eval-Block...
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Wartezeit erhöhen in http.pm?