[Twisted-Python] db connections

Pet petshmidt at googlemail.com
Tue Mar 24 06:10:17 EDT 2009


Hi,

I've wrote an daemon which does some queries to db and sends response
back to client. Do I need to make for every request from client (new
instance of  MyProtocol) a new connection to DB? Or can I somehow
prepare connection, so I could save some time? Maybe make connection
in Factory and pass it to Protocol? But what happens if too much
clients are connected to server? What is the way to control it?

Regards, Pet


class MyProtocol(basic.LineReceiver):

    def __init__(self):
        print "new connection"
        self.dbcon = adbapi.ConnectionPool("pyPgSQL.PgSQL",
database="data", user='pet', host='local', password='some')


class MyFactory(protocol.ServerFactory):
    protocol = MyProtocol

class MyService(internet.TCPServer):
    def __init__(self):
        internet.TCPServer.__init__(self,PORT,MyFactory())

def main():
    reactor.listenTCP(PORT, MyFactory())
    reactor.run()


if __name__ == '__main__':
    main()




More information about the Twisted-Python mailing list