[Twisted-Python] service stops/twistd exits
glyph at twistedmatrix.com
Thu Aug 5 15:16:38 EDT 2010
On Aug 4, 2010, at 9:23 PM, Thomas Drake wrote:
> I'm wondering if there is an established pattern for having an application running in twistd shut itself down in the absence of a running service?
> The idea is that if a service fails it calls self.stopService() and the application shuts itself down somehow (rather than having the service call reactor.stop). Ideally, I was hoping to do with without any specialized code within my service, ie subclass from a ManagedService class or using decorators.
> I supposed it's possible to write a monitoring service that checks to ensure my service is running, but I'd prefer a tighter coupling like having a FatalException bubble up from the failed service to the application, MultiService, or whatever *should* be calling reactor.stop().
> Otherwise, if having service (eventually) stop the reactor is totally antithetical to how things should work in a twistd plugin, then I guess I'll need to rethink things.
Calling reactor.stop() is possibly the best that you're likely to do right now. This is a known problem, and at least related to (if not the same as) <http://twistedmatrix.com/trac/ticket/718>.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Twisted-Python