|
|
| |
AnyEvent::Worker(3) |
User Contributed Perl Documentation |
AnyEvent::Worker(3) |
AnyEvent::Worker - Manage blocking task in external process
use AnyEvent 5;
use AnyEvent::Worker;
my $worker1 = AnyEvent::Worker->new( [ 'Actual::Worker::Class' => @init_args ] );
my $worker2 = AnyEvent::Worker->new( sub { return "Cb 1 @_"; } );
my $worker3 = AnyEvent::Worker->new( {
class => 'Actual::Worker::Class2',
new => 'create', # alternative constructor
args => [qw(arg1 arg2)],
} );
# Invoke method `test' on Actual::Worker::Class with arguments @args
$worker1->do( test => @args , sub {
return warn "Request died: $@" if $@;
warn "Received response: @_";
});
# Just call callback, passed to worker2 with arguments @args
$worker2->do( @args , sub {
return warn "Request died: $@" if $@;
warn "Received response: @_";
});
Simple stateless worker. On any "do" a sub
sill be invoked with "do" arguments
Stateful, object-based worker. After fork, Class will we
"use"d, then instantiated with
new(@new_args).
First argument to "do" will be
interpreted as object method, rest -- as method arguments.
Same as previous, but allow to pass optional constructor name in
"new" arg
When an unexpected error occurs (for ex: child process exited or killed)
"on_error" callback will be invoked
Only for stateless worker.
Only for stateful worker.
- $worker->on_error ($cb->($worker, $filename, $line, $fatal))
- Sets (or clears, with "undef") the
"on_error" handler.
- $worker->timeout ($seconds)
- Sets (or clears, with "undef") the
database timeout. Useful to extend the timeout when you are about to make
a really long query.
- $worker->do ( @args, $cb->( $worker, @response ) )
- Executes worker code and execure the callback, when response is ready
Mons Anderson, "<mons@cpan.org>"
This module based on Marc Lehmann's AnyEvent::DBI
Thanks to Vladimir Timofeev
"<vovkasm@cpan.org>" for bugfixes
and useful notes
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |