1 message in ru.sysoev.nginxUsing die in perl module
FromSent OnAttachments
Atif GhaffarFeb 23, 2009 2:37 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Using die in perl moduleActions...
From:Atif Ghaffar (atif@gmail.com)
Date:Feb 23, 2009 2:37:17 pm
List:ru.sysoev.nginx

Hi all,

I would like to know the consequence in using alarm and die in a perl-handler. For example consider this http://wiki.codemongers.com/NginxEmbeddedPerlImageResize

The blocking code is the following

$image= new Image::Magick; $image->Read($real_file_path); $image->Scale($dimensions); $image->Write($dest_file);

Sometimes this code can hold all resources and normal requests cannot be served.

So if I follow the example from mod_perl and die in 2 seconds, what will be the consequence to the current requests?

my $timeout = 2; # seconds eval { local $SIG{ALRM} = sub { die "Sorry, timed out. Please try again\n" }; alarm $timeout; # the operation listed above alarm 0; };

die $@ if $@;