The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.