NAME

Ubic::Service::Common - common way to construct new service by specifying several callbacks

VERSION

version 1.60

SYNOPSIS

$service = Ubic::Service::Common->new({
    start => sub {
        # implementation-specific
    },
    stop => sub {
        # implementation-specific
    },
    status => sub {
        # implementation-specific
    },
    name => "my-service",
    port => 1234,
});
$service->start;

DESCRIPTION

Each service should provide safe start(), stop() and status() methods.

CONSTRUCTOR

Ubic::Service::Common->new($params)

Construct service object.

Possible parameters:

start

Mandatory sub reference providing service start mechanism.

stop

The same for stop.

status

Mandatory sub reference checking if service is alive.

It should return one of running, not running, broken values.

This code will be used as safety check against double start and in watchdog checks.

name

Service's name.

Optional, will usually be set by upper-level multiservice. Don't set it unless you know what you're doing.

user

User under which daemon will be started. Optional, default is root.

group

Group under which daemon will be started. Optional, default is all user groups.

Value can be scalar or arrayref.

port

Service's port.

AUTHOR

Vyacheslav Matyukhin <mmcleric@yandex-team.ru>

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Yandex LLC.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.