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,brokenvalues.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.