[Twisted-Python] Chaining deferreds with DeferredList
Tsai Li Ming
mailinglist at ltsai.com
Sat Nov 13 10:28:17 EST 2004
How do I chain a deferred object with multiple deferred objects within a
single function call?
I'm trying to wait for all the deferred to fire before triggering the
foo function. How can I chain up the multiple deferreds in the FOR loop?
for k in keys:
where = [("pk_col",reflector.EQUAL,k)]
d = mt.loadObjectsFrom("table",whereClause=where)
d.addCallback(cbTable)
d.addErrback(ebTable)
defer_list.append(d)
dl = defer.DeferredList(defer_list)
dl.addCallback(foo)
def foo(result):
print result
reactor.stop()
def cbTable(rows):
mt = sqlreflector.SQLReflector(dbpool, [commentRow])
if rows:
for r in rows:
d = mt.deleteRow(c)
d.addCallback(cbDelete)
d.addErrback(ebDelete)
else:
d = delete()
return d
def cbDelete(result):
d = delete() # Returns a deferred
return d
Thanks,
Liming
More information about the Twisted-Python
mailing list