We have been using python embedded via the C API and have used Twisted for various things. We have come across some strange behavior and I cannot figure out what is going on.
from twisted.internet import reactor
from twisted.web.client import downloadPage
...
def fetchRepo():
global gameType, gameName, setupComplete, cp
if (setupComplete):
url = urlbase + "/" + gameType + "/" + gameName + "/repo.ini"
print "url is : " + url
d = downloadPage(url, "C:\\svntest\\gamerepo.ini")
d.addCallback(downloadSuccess)
d.addErrback(downloadFailure)
#cp.readfp(open("C:\\game-repo.ini"))
else:
print "urls not setup, throw errors etc."
...
This is an example of how we have been using downloadPage from twisted.web.client. I have no problems getting the example to work when I make a simple app or write the code into the intrepeter. But if I use it inside my app I get the user timeout below.
Unhandled error in Deferred:
Traceback (most recent call last):
Failure: twisted.internet.error.TimeoutError: User timeout caused connection failure.
Am I forgetting something trivial? The reactor is running as we use PB for database pooling. Can I not call downloadPage after a reactor is setup and connected?
James