I'd like to fire and forget a process, but put a timeout on how long that
process can run. It's easy enough to kick off a process
with Mojo::IOLoop::ForkCall (deprecated) or Mojo::IOLoop::Subprocess, but I
can't find any examples of adding a timeout.
Here's some pseudo code for what I'm looking for:
get '/background' => sub {
my $c = shift;
my $subprocess = Mojo::IOLoop::Subprocess->new;
$subprocess->run(
sub {
# limit how long the following sub should run
doSlowWork();
return 1;
},
sub { # required, even if you don't use it
my ($subprocess, $err, @results) = @_;
}
);
$subprocess->ioloop->start
unless $subprocess->ioloop->is_running;
$c->render( text => q|background process started|);
};
doSlowWork() doesn't need to return anything (output is polled for
elsewhere.)
Can someone point me in the right direction? Thanks!
-=>j
--
You received this message because you are subscribed to the Google Groups
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.