[Twisted-Python] db connections

Rob Hoadley hoadley at gmail.com
Tue Mar 24 12:04:16 EDT 2009


You'd want to use a connection pool to manage the db interaction.
Your server is pretty unusable after a db connection failure.  I've
used the connection pool before with a cp_min of 1 and a cp_max of 2.

http://twistedmatrix.com/documents/8.2.0/api/twisted.enterprise.adbapi.ConnectionPool.html


On Tue, Mar 24, 2009 at 6:45 AM, Alvin Delagon <adelagon at gmail.com> wrote:
> Put self.dbcon in the MyFactory class. MyProtocol instances can access it
> via self.factory.
>
>
> On Tue, Mar 24, 2009 at 6:10 PM, Pet <petshmidt at googlemail.com> wrote:
>>
>> 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()
>>
>> _______________________________________________
>> Twisted-Python mailing list
>> Twisted-Python at twistedmatrix.com
>> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
>
>
> --
> http://www.alvinatorsplayground.blogspot.com/
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
>




More information about the Twisted-Python mailing list