Beekeeper
view release on metacpan or search on metacpan
examples/flood/lib/MyApp/Service/Flood/Worker.pm view on Meta::CPAN
package MyApp::Service::Flood::Worker;
use strict;
use warnings;
use Beekeeper::Worker ':log';
use base 'Beekeeper::Worker';
sub authorize_request {
my ($self, $req) = @_;
return BKPR_REQUEST_AUTHORIZED;
}
sub on_startup {
my $self = shift;
$self->accept_remote_calls(
'myapp.flood.echo' => 'echo',
'myapp.flood.delay' => 'delayed_echo',
);
$self->accept_notifications(
'myapp.flood.msg' => 'message',
);
log_info "Ready";
}
sub on_shutdown {
my $self = shift;
log_info "Stopped";
}
sub echo {
my ($self, $params) = @_;
return $params;
}
sub message {
my ($self, $params) = @_;
}
sub delayed_echo {
my ($self, $params, $request) = @_;
$request->async_response;
my $timer_id = ++($self->{timer_seq});
$self->{$timer_id} = AnyEvent->timer(
after => 1,
cb => sub {
delete $self->{$timer_id};
$request->send_response( $params );
},
);
}
1;
( run in 2.960 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )