[Twisted-Python] callback style question
Itamar Shtull-Trauring
itamar at itamarst.org
Fri Jun 13 14:28:30 MDT 2003
On Fri, 13 Jun 2003 14:24:41 -0600
"Justin Johnson" <justinjohnson at fastmail.fm> wrote:
> I wrote an xmlrpc service using twisted for the server portion but
> using xmlrpclib on the client side to connect. It is working
> beautifully, and greatly simplifying my job. However, now I decided
> that I'd like to take advantage of Deferred's on the client side so
> that I can initiate multiple requests at once. These requests involve
> doing something on one
Using Deferreds wont magically make requests run at once. You'd need to
use twisted event loop - i.e. the reactor - on the client side. xmlrpc
requests would need to be run by the xmlrpc client support in
twisted.web.xmlrpc, e.g.:
d = xmlrpc.Proxy("http://localhost:8080/").callRemote("foo.bar", 1, 2)
instead of
xmlrpclib.ServerProxy("http://localhost:8080").foo.bar(1, 2)
For callbacks, yes, you need to use a function, bit that can be a lmbda
too.
d.addCallback(int).addCallback(lambda x: x*2) # convert to int and
multiply by 2
--
Itamar Shtull-Trauring http://itamarst.org/
http://www.zoteca.com -- Python & Twisted consulting
More information about the Twisted-Python
mailing list