Thread CGI ruft anderes Script aus, welches das aufrufende beendet anstatt zu warten.
(2 answers)
Opened by roooot at 2009-04-29 21:15
Hi
und zwar musste ich aufgrund der begrenzten Ressourcen meines Webpacks den Prozess des Image resizens (yay Denglisch) auslagern. Nun habe ich ein merkwürdiges Verhalten festgestellt: Lade ich Bilder bis zu einer Größe von 1 MB hoch funktioniert es: Das Hauptscript wartet bis der neue Prozess (das Resizen) abgeschlossen ist und macht dann weiter. Wenn ich aber größere Dateien umwandeln will, dann wird das Hauptscript von dem neuen Prozess beendet. Wie kann ich dieses Verhalten beeinflussen? Es soll immer im Hauptscript weitergemacht werden, nachdem das - ich nenne es mal - Childscript abgeschlossen oder abgebrochen ist. Bin für jede Hilfe dankbar. ___Zur Verdeutlichung etwas Code___ (unvollständig) Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 # Hauptscript # sub { ... my $resize_success = system(qq{./resize.cgi param1 param2}); ... print CGI::header(); print 'success'; return } Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # Childscript # #!/usr/bin/perl -w use strict; ### resize picture use Image::Resize; my $image = Image::Resize->new($dir) or die qq{error while reading: $!}; my $gd = $image->resize(1280, 1024) or die 'error resizing (norm): '.$!; open my $PIC, qq{>$resized} or die qq{error while pic: $!}; print $PIC $gd->jpeg(); close $PIC; exit; Last edited: 2009-04-29 21:17:23 +0200 (CEST) Viele Grüße :)
|