AnyEvent-Processor
view release on metacpan or search on metacpan
lib/AnyEvent/Processor/Watcher.pm view on Meta::CPAN
package AnyEvent::Processor::Watcher;
# ABSTRACT: A watcher echoing a process messages, base class
$AnyEvent::Processor::Watcher::VERSION = '0.006';
use Moose;
use AnyEvent;
has delay => ( is => 'rw', isa => 'Int', default => 1 );
has action => ( is => 'rw', does => 'AnyEvent::Processor::WatchableTask' );
has stopped => ( is => 'rw', isa => 'Int', default => 0 );
has wait => ( is => 'rw' );
sub start {
my $self = shift;
$self->action->start_message(),
$self->wait( AnyEvent->timer(
after => $self->delay,
interval => $self->delay,
cb => sub {
$self->action()->process_message(),
},
) );
}
sub stop {
my $self = shift;
$self->action->end_message();
}
no Moose;
__PACKAGE__->meta->make_immutable;
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
AnyEvent::Processor::Watcher - A watcher echoing a process messages, base class
=head1 VERSION
version 0.006
=head1 ATTRIBUTES
=head2 delay
Delay between cal to L<action> process_message call
=head2 action
L<AnyEvent::Processor::WatchableTask> class to call.
=head1 METHODS
=head2 start
=head2 stop
=head1 AUTHOR
Frédéric Demians <f.demians@tamil.fr>
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2015 by Fréderic Demians.
This is free software, licensed under:
The GNU General Public License, Version 3, June 2007
( run in 0.812 second using v1.01-cache-2.11-cpan-3782747c604 )