On Thu, 2 Apr 2009 23:31:12 +0200, Fabrizio Mancini <mr.f...@gmail.com> wrote:
Hi everyone, I'm writing a server and a client using Perspective Broker with no Avatar and no auth. The server accumulates some data using a DeferredQueue. The clients using a remote call retrieve one item per time from the queue and elaborates it making some changes on a database using adbapi. What i want to know is: 1) how can i recursively call the remote method to retrieve the items from the server? 2) can i defer the database operations to a thread so every client can elaborates multiple requests per time?
I don't really understand either of these questions.
[snip code] To call recursively the remote object in function connect i call clientfactory.getRootObject() and addCallback() for the first time, and the i recall always self.clientfactory.getRootObject() and self.d.addCallback when the db query has completed. Is this correct? Do I have to always call self.clientfactory.getRootObject() every time i have to call a remote method?
You don't. You only need to call it once per connection, to get the root object. Once you have the root object, you can simply keep a reference to it and use it to make any number of remote calls you like.
Can i deferToThread the function got_item or self.dbpool.runOperation(query)?
runOperation implies threading already, since DB-API 2.0 is blocking. So you should already have all the threading you need. Jean-Paul _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python