class 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 |
Method | __iter__ |
Get an iterator over all child services. |
Method | add |
Add a child service. |
Method | get |
Get the child service with a given name. |
Method | privileged |
Do preparation work for starting the service. |
Method | remove |
Remove a child service. |
Method | start |
Start the service. |
Method | stop |
Stop the service. |
Instance Variable | named |
Undocumented |
Instance Variable | parent |
An IServiceCollection which is the parent or None. |
Instance Variable | services |
Undocumented |
Inherited from Service
:
Method | __getstate__ |
Undocumented |
Method | disown |
Use this API to remove an IService from an IServiceCollection . |
Method | set |
Set the name of the service. |
Method | set |
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. |
twisted.mail.mail.MailService
, twisted.words.protocols.jabber.component.ServiceManager
Undocumented
Add a child service.
Only implementations of IService.setServiceParent
should use this method.
Parameters | |
service:IService | Undocumented |
Raises | |
RuntimeError | Raised if the service has a child with the given name. |
Do preparation work for starting the service.
Here things which should be done before changing directory, root or shedding privileges are done.
Remove a child service.
Only implementations of IService.disownServiceParent
should use this method.
Parameters | |
service:IService | Undocumented |
Returns | |
Deferred | a Deferred which is triggered when the service has finished shutting down. If shutting down is immediate, a value can be returned (usually, None ). |
Raises | |
ValueError | Raised if the given service is not a child. |