class documentation

class MultiService(Service): (source)

Known subclasses: twisted.mail.mail.MailService, twisted.words.protocols.jabber.component.ServiceManager

Implements interfaces: twisted.application.service.IServiceCollection

View In Hierarchy

Straightforward Service Container.

Hold a collection of services, and manage them in a simplistic way. No service will wait for another, but this object itself will not finish shutting down until all of its child services will finish.

Method __init__ Undocumented
Method __iter__ Get an iterator over all child services.
Method add​Service Add a child service.
Method get​Service​Named Get the child service with a given name.
Method privileged​Start​Service Do preparation work for starting the service.
Method remove​Service Remove a child service.
Method start​Service Start the service.
Method stop​Service Stop the service.
Instance Variable named​Services Undocumented
Instance Variable parent An IServiceCollection which is the parent or None.
Instance Variable services Undocumented

Inherited from Service:

Method __getstate__ Undocumented
Method disown​Service​Parent Use this API to remove an IService from an IServiceCollection.
Method set​Name Set the name of the service.
Method set​Service​Parent Set the parent of the service. This method is responsible for setting the parent attribute on this service (the child service).
Instance Variable name A str which is the name of the service or None.
Instance Variable running A boolean which indicates whether the service is running.
def __iter__(self): (source)
Get an iterator over all child services.
def addService(self, service): (source)

Add a child service.

Only implementations of IService.setServiceParent should use this method.

Parameters
service:IServiceUndocumented
Raises
RuntimeErrorRaised if the service has a child with the given name.
def getServiceNamed(self, name): (source)
Get the child service with a given name.
Parameters
name:strUndocumented
Returns
IServiceUndocumented
Raises
KeyErrorRaised if the service has no child with the given name.
def privilegedStartService(self): (source)

Do preparation work for starting the service.

Here things which should be done before changing directory, root or shedding privileges are done.

def removeService(self, service): (source)

Remove a child service.

Only implementations of IService.disownServiceParent should use this method.

Parameters
service:IServiceUndocumented
Returns
Deferreda Deferred which is triggered when the service has finished shutting down. If shutting down is immediate, a value can be returned (usually, None).
Raises
ValueErrorRaised if the given service is not a child.
def stopService(self): (source)
Stop the service.
Returns
Deferreda Deferred which is triggered when the service has finished shutting down. If shutting down is immediate, a value can be returned (usually, None).
namedServices: dict = (source)

Undocumented

parent = (source)
An IServiceCollection which is the parent or None.
services: list = (source)

Undocumented