AnyEvent::Subprocess::Job::Delegate::Timeout - Kill a subprocess if it takes too
long
my $timed = AnyEvent::Subprocess::Job::Delegate::Timeout->new(
name => 'timeout',
time_limit => 10, # 10 seconds
kill_with => 'FIRE', # may not be available on your OS
);
my $job = AnyEvent::Subprocess->new( delegates => [$timed], code => ... );
my $run = $job->run;
Later...
my $done = ...;
say 'your job took too long, so i killed it with fire'
if $done->delegate('tiemout')->timed_out;
Number of seconds to allow the subprocess to run for. Required.
UNIX signal to kill the subprocess with when its time expires. Defaults to
SIGKILL.
Jonathan Rockway <jrockway@cpan.org>
This software is copyright (c) 2011 by Jonathan Rockway.
This is free software; you can redistribute it and/or modify it
under the same terms as the Perl 5 programming language system itself.