|
NAMEUbic::Multiservice - interface of multiservice representing several named servicesVERSIONversion 1.58SYNOPSIS$service = $multiservice->service("multiservice-x.multiservice-y.service-z"); @services = $multiservice->services(); DESCRIPTIONMultiservices are objects with simple list/get API which is used to fill ubic service tree.This is an abstract base class for all multiservices. Actual multiservice classes should inherit from this class and implement methods from "ABSTRACT METHODS" section. ABSTRACT METHODSThese methods have to be overloaded by subclasses:
METHODSThese methods can be overloaded for a performance boost or some non-trivial tasks, but their default implementation should be adequate in 99% of the cases.
BUGS AND CAVEATSAlthough multiservice class is inherited from "Ubic::Service" class, it doesn't and shouldn't implement start/stop/status methods. This is because user will usually want to see action's progress, and all output policy is defined in Ubic::Cmd class; interaction protocol between this class and "Ubic::Cmd" class would be too complex.This may be fixed in future: either "Ubic::Multiservice" will no longer inherit from "Ubic::Service", or start/stop methods will be implemented with renderer object as an argument. Until then, please don't override these methods in subclasses. "user", "group" and other metadata methods are not used for multiservices too. Subservices are cached forever; this can cause troubles, but it is necessary to avoid memory leaks in persistent programs, for example, in "Ubic::Ping". SEE ALSOUbic::Multiservice::Simple - class for defining simple multiservices.Ubic::Multiservice::Dir - multiservice which loads service configs from files. AUTHORVyacheslav Matyukhin <mmcleric@yandex-team.ru>COPYRIGHT AND LICENSEThis software is copyright (c) 2015 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.
Visit the GSP FreeBSD Man Page Interface. |