Hello and thanks for your time.


I've already written this some times:

d1.addCallback(5, reactor.callLater, d2.callback, "firelater")

Hope this, helps,

Amaury Forgeot d'Arc

On Tue, Dec 16, 2008 at 5:29 PM, Arye <aryeh@bigfoot.com> wrote:
Dear list,

I would like to add a callback that delays the chain. In other words I would like to combine:
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,

from twisted.internet import reactor, defer

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

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)