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