Take me over?
NAME
POE::Component::Supervisor::Supervised - A role for supervision descriptors.
SYNOPSIS
# See e.g. POE::Component::Supervisor::Supervised::Proc;
DESCRIPTION
All children supervised by the POE::Component::Supervisor must do this role.
This role provides an API for instantiating POE::Component::Supervisor::Handle as required by the supervisor, corresponding to living instances of the child. The POE::Component::Supervisor::Supervised objects serve as descriptors for these handles, and know how to spawn the actual child.
ATTRIBUTES
- restart_policy
-
One of
permanent
,transient
ortemporary
.Defaults to
transient
.See
should_restart
. - handle_class
-
This attribute should be extended by your class to provide a default for
_inherit_attributes_from_handle_class
(and subsequentlycreate_handle
) to work.
METHODS
- construct_handle
-
Calls
new
onhandle_class
with the arguments. - create_handle
-
Iterates the inherited attributes and copies them from the
$self
, and also passes$self
as thechild
parameter, along with all provided arguments toconstruct_handle
. - should_restart
-
Returns a boolean value, which instructs the supervisor as to whether or not the child should be restarted after exit.
If the child is
permanent
this always returns true.If the child is
transient
this returns true ifis_abnormal_exit
returns true.If the child is
temporary
this returns false. - is_abnormal_exit %args
-
Required.
Given exit arguments from the handle, check whether or not the exit was normal or not.
For example POE::Component::Supervisor::Supervised::Proc will by default check if the exit status is 0.
Only applies to
transient
children. - spawn
-
Required.
Creates a new POE::Component::Supervisor::Handle object for the supervisor.
- respawn
-
An alias for
spawn
by default.May be overridden if respawning requires cleanup first, or something like that.
- is_transient
- is_temporary
- is_permanent
-
Boolean query methods that operatoe on
restart_policy
.