[Twisted-Python] How to exit a twistd program with a status code ?
Pantelis Theodosiou
ypercube at gmail.com
Fri Sep 24 05:09:08 MDT 2010
I think that you should not put the sys.exit(1) call, after the
reactor.stop() call.
>From my very limited understanding of how Twisted reactor works, it could be
done with something like:
statusCode = 1 #or whatever
reactor.stop()
in the method that stops the reactor
and the exit call should be added where (after) the reactor is started:
reactor.run()
# this will be executed after reactor stops
sys.exit(statusCode)
Please, correct me if I write nonsense here.
Pandelis Theodosiou
On Fri, Sep 24, 2010 at 4:49 AM, David Cournapeau <cournape at gmail.com>wrote:
> Hi,
>
> I have a program run through twistd, and would like to exit with a non
> zero status code on some error. I have a callback which stops the
> reactor and then sys.exit(some_value), but twistd still seems to catch
> the SystemExit exception after calling for reactor.stop():
>
> Unhandled error in Deferred:
> Traceback (most recent call last):
> File
> "/home/david/local/lib/python2.6/site-packages/twisted/internet/base.py",
> line 1031, in connectionFailed
> self.factory.clientConnectionFailed(self, reason)
> File
> "/home/david/local/lib/python2.6/site-packages/twisted/web/client.py",
> line 350, in clientConnectionFailed
> self.deferred.errback(reason)
> File
> "/home/david/local/lib/python2.6/site-packages/twisted/internet/defer.py",
> line 307, in errback
> self._startRunCallbacks(fail)
> File
> "/home/david/local/lib/python2.6/site-packages/twisted/internet/defer.py",
> line 354, in _startRunCallbacks
> self._runCallbacks()
> --- <exception caught here> ---
> File
> "/home/david/local/lib/python2.6/site-packages/twisted/internet/defer.py",
> line 371, in _runCallbacks
> self.result = callback(self.result, *args, **kw)
> File "scripts/tests/run_tests.py", line 69, in exit_on_error
> sys.exit(1)
> exceptions.SystemExit: 1
>
> What's the correct way of doing this ?
>
> cheers,
>
> David
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20100924/fea51209/attachment.html>
More information about the Twisted-Python
mailing list