NAME
Zing::Watcher - Watcher Process
ABSTRACT
Watcher Process
SYNOPSIS
package MyApp;
use parent 'Zing::Watcher';
sub perform {
time;
}
sub receive {
my ($self, $from, $data) = @_;
[$from, $data];
}
sub scheme {
['MyApp::Handler', [], 1];
}
package main;
my $myapp = MyApp->new;
# $myapp->execute;
DESCRIPTION
This package provides a Zing::Process which forks a scheme
using Zong::Fork and maintains the desired active processes. The standard process perform
and receive
methods operate as expected.
INHERITS
This package inherits behaviors from:
LIBRARIES
This package uses type constraints from:
SCENARIOS
This package supports the following scenarios:
perform
# given: synopsis
$myapp->perform;
The perform method is meant to be implemented by a subclass and is automatically invoked iteratively by the event-loop.
receive
# given: synopsis
$myapp->receive($myapp->name, { status => 'ok' });
The receive method is meant to be implemented by a subclass and is automatically invoked iteratively by the event-loop.
scheme
# given: synopsis
$myapp->scheme;
The scheme method is meant to be implemented by a subclass and is automatically invoked when the process is executed.
ATTRIBUTES
This package has the following attributes:
on_scheme
on_scheme(Maybe[CodeRef])
This attribute is read-only, accepts (Maybe[CodeRef])
values, and is optional.
METHODS
This package implements the following methods:
scheme
scheme(Any @args) : Scheme
The scheme method, when not overloaded, executes the callback in the "on_scheme" attribute and expects a process scheme to be processed.
- scheme example #1
-
my $watcher = Zing::Watcher->new( on_scheme => sub { ['MyApp::Handler', [], 1] }, ); $watcher->scheme;
AUTHOR
Al Newkirk, awncorp@cpan.org
LICENSE
Copyright (C) 2011-2019, Al Newkirk, et al.
This is free software; you can redistribute it and/or modify it under the terms of the The Apache License, Version 2.0, as elucidated in the "license file".