Jonathan Rockway

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.