Package twisted :: Package internet :: Module app :: Class DependentMultiService

[frames | no frames]

## Class DependentMultiService

    _AbstractServiceCollection --+
                                 |
                  Accessor --+   |
                             |   |
                 Versioned --+   |
                             |   |
            ApplicationService --+
                                 |
                      MultiService --+
                                     |
                                    DependentMultiService

I am a MultiService that starts services in insert order, and stops them in the reverse order. The service starts and stops are chained, so be very careful about services that may fail to start or stop.

Method Summary
| `__init__(self, serviceName, serviceParent)`
| `_emergencyStopService(self, failure, service)`
| `_finishStartService(self, res)`
| `_finishStopService(self, res)`
| `_rollbackStartedServices(self, failure, service)`
| ``startService`(self)` Start all of my Services.
| ``stopService`(self)` Stop all of my Services.
Inherited from MultiService
| ``_cbAttachServiceNames`(self, result, services)` I massage the result of a DeferredList into something that's a bit easier to work with (see `stopService`'s __doc__).
| ``addService`(self, service)` Add a Service to me.
| ``removeService`(self, service)` Remove a Service from me.
Inherited from _AbstractServiceCollection
| ``getServiceNamed`(self, serviceName)` Retrieve the named service from this application.
Inherited from ApplicationService
| ``disownServiceParent`(self)` Have my parent disown me.
| ``get_application`(self)`
| ``set_application`(self, application)`
| ``setApplication`(self, application)`
| ``setServiceParent`(self, serviceParent)` Set my parent, which must be a service collection of some kind.
| ``upgradeToVersion1`(self)`
Inherited from Accessor
| ``__delattr__`(self, k)`
| ``__getattr__`(self, k)`
| ``__setattr__`(self, k, v)`
| ``reallyDel`(self, k)` *actually* del self.k without incurring side-effects.
| ``reallySet`(self, k, v)` *actually* set self.k to v without incurring side-effects.
Inherited from Versioned
| ``__getstate__`(self, dict)` Get state, adding a version number to it on its way out.
| ``__setstate__`(self, state)`
| ``versionUpgrade`(self)` (internal) Do a version upgrade.

Class Variable Summary
Inherited from _AbstractServiceCollection
`tuple` | `__implements__` = `(<class twisted.internet.interfaces.ISe...`
Inherited from ApplicationService
`int` | `persistenceVersion` = 1
`NoneType` | `serviceName` = None
`NoneType` | `serviceParent` = None
`int` | `serviceRunning` = 0
`NoneType` | `serviceType` = None
Inherited from Versioned
`tuple` | `persistenceForgets` = `()`

Method Details

### startService(self)

Start all of my Services.

I return a Deferred that will callback (with no useful result) when all services are started. In the event of a failure, all of the successful services will be stopped (without chained behavior) and I will errback with the first unsuccessful service's failure.

  Overrides:
    `twisted.internet.app.MultiService.startService`

### stopService(self)

Stop all of my Services.

I return a Deferred that will callback (with no useful result) when all services are stopped. In the event of a failure, the running services will be stopped (without chained behavior) and I will errback with the first unsuccessful service's failure.

  Overrides:
    `twisted.internet.app.MultiService.stopService`

Generated by Epydoc 2.0 on Sat May 15 20:08:35 2004 | http://epydoc.sf.net