NAME

AnyEvent::Subprocess::Job::Delegate::Timeout - Kill a subprocess if it takes too long

VERSION

version 1.102912

SYNOPSIS

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;

ATTRIBUTES

time_limit

Number of seconds to allow the subprocess to run for. Required.

kill_with

UNIX signal to kill the subprocess with when its time expires. Defaults to SIGKILL.

AUTHOR

Jonathan Rockway <jrockway@cpan.org>

COPYRIGHT AND LICENSE

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.