[Twisted-Python] using a reactor in a loop
brown at esteem.com
Thu Mar 1 12:21:50 EST 2007
I am trying to use a reactor in a loop. The application will go through the
loop twice then hang when trying to stop the protocol. Here's my loop:
factory = Factory()
factory.numProtocols = 0
factory.protocol = AqapProtocol
print 'running server'
# do other work ...
reactor.run() # stopped by protocol
Here's how the protocol stops the reactor:
def connectionLost(self, reason):
self.factory.numProtocols -= 1
if not self.factory.numProtocols:
print 'stopping reactor'
print 'reactor stopped'
I see the 'reactor stopped' get printed out twice through the loop but I don't
see 'running server' get printed out a third time. So, reactor.run() is not
returning. I must be missing something or going at this completely wrong. Any
More information about the Twisted-Python