[Twisted-Python] Design question: xmlrpc server - deferreds - adbapi
Remy C Cool
remy.cool at smartology.nl
Sat Mar 12 08:49:12 MST 2005
Hello Twisters,
As a Twisted newbie, I'm not sure if, what i've coded is the Twisted way
to go.
In this test, I've created a simple XMLRPC server
def main():
# initialize factory
factory = server.Site(XMLRPC())
factory.resource.base = factory
# initialize server
reactor.listenTCP(8000, factory)
try:
try:
reactor.run()
except KeyboardInterrupt:
print 'CTRL-C received, shutting down server.'
except Exception, err:
print 'Problem with running server: %s' % err
finally:
reactor.stop()
# The XMLRPC class:
class XMLRPC(xmlrpc.XMLRPC):
def xmlrpc_test(self, text):
d = defer.maybeDeferred(test, text)
return d
# The test function
def test(text):
# do something with the text
return dbPool.pg.runInteraction(getTestData, text)
# The getTestData function
def getTestData(cursor, text):
# do queries using cursor
return result
dbPool is a class which sets up dbpools for different databases
according to a config file.
This setup seems to work, but I'm not sure about the way I'm using the
deferreds.
Comments welcome :)
Grtz,
Remi Cool
More information about the Twisted-Python
mailing list