class twisted.application.service.MultiService(Service): (source)
Known subclasses: twisted.mail.mail.MailService, twisted.words.protocols.jabber.component.ServiceManager
Implements interfaces: twisted.application.service.IServiceCollection
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 |
Instance Variable | services | Undocumented |
Instance Variable | namedServices | Undocumented |
Instance Variable | parent | An IServiceCollection which is the parent or None . |
Method | privilegedStartService | Do preparation work for starting the service. |
Method | startService | Start the service. |
Method | stopService | Stop the service. |
Method | getServiceNamed | Get the child service with a given name. |
Method | __iter__ | Get an iterator over all child services. |
Method | addService | Add a child service. |
Method | removeService | Remove a child service. |
Inherited from Service:
Instance Variable | running | A boolean which indicates whether the service is running. |
Instance Variable | name | A str which is the name of the service or None . |
Method | __getstate__ | Undocumented |
Method | setName | Set the name of the service. |
Method | setServiceParent | Set the parent of the service. This method is responsible for setting the parent attribute on this service (the child service). |
Method | disownServiceParent | Use this API to remove an IService from an IServiceCollection . |
Undocumented
Do preparation work for starting the service.
Here things which should be done before changing directory, root or shedding privileges are done.
Get the child service with a given name.
Parameters | name | Undocumented (type: str ) |
Returns | Undocumented (type: IService ) | |
Raises | KeyError | Raised if the service has no child with the given name. |
Add a child service.
Only implementations of IService.setServiceParent
should use this method.
Parameters | service | Undocumented (type: IService ) |
Raises | RuntimeError | Raised if the service has a child with the given name. |
Remove a child service.
Only implementations of IService.disownServiceParent
should use this method.
Parameters | service | Undocumented (type: IService ) |
Returns | a Deferred which is triggered when the service has finished shutting down. If shutting down is immediate, a value can be returned (usually, None ). (type: Deferred ) | |
Raises | ValueError | Raised if the given service is not a child. |