[Twisted-Python] combining addCallback and callLater ?

Arye aryeh at bigfoot.com
Tue Dec 16 09:29:33 MST 2008


Dear list,

I would like to add a callback that delays the chain. In other words I would
like to combine:
defer.Deferred().addCallback
and reactor.callLater

The only solution I came up with was the code below.

There must be a more elegant way to do this.
Any ideas would be greatly appreciated,
All the best,

*************************begin
from twisted.internet import reactor, defer

def printResults(results, arg):
    print "In printResults results=", results
    print "In printResults arg=", arg
    if arg == 2:
        reactor.stop()


def fireLater(results, d2):
    print "In fireLater results=", results
    reactor.callLater(5, d2.callback, "firelater")

d1 = defer.Deferred()
d2 = defer.Deferred()
d2.addCallback( printResults, 1)
d2.addCallback( printResults, 2)


d1.addCallback(fireLater, d2)
d1.callback("fire")

reactor.run()
*************************end
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/twisted-python/attachments/20081216/0c0d7d22/attachment.html>


More information about the Twisted-Python mailing list