NAME
App::Standby::Service - Service Plugin baseclass
ATTRIBUTES
name
The name of this plugin. SHOULD be lowercase. SHOULD also used as a key prefix in the config table.
description
A human readable description of this service plugin. Used for display and logging. MAY be empty.
group_id
The numeric group id of the group this service plugins instance is associated with. MUST be numeric and MUST NOT be empty.
METHODS
update
This method is called with a array_ref containing the new ordering on any changed.
NAME
App::Standby::Service - Service Plugin baseclass
ADDING A NEW SERVICE
First of all there are two kinds of services: Simple HTTP endpoints and complex plugins.
The simple HTTP plugins just receive the whole queue in as JSON encoded array. Those only need to subclass App::Standby::Service::HTTP and provide an implementation for _init_endpoints. Have a look at the simple example.
All other services will need to subclass App::Standby::Service and implement an update() method. Have a look at App::Standby::Service::Pingom for an example.
The method _config_values helps with getting values to known keys from the config table. A service plugin MUST always prepend its name to the key to allow for multiple instances of one plugin registered at the same time.
AUTHOR
Dominik Schulz <dominik.schulz@gauner.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Dominik Schulz.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.