[Twisted-Python] can addCallback accept list of deferreds?
Pet
petshmidt at googlemail.com
Tue Jun 16 07:23:17 EDT 2009
Hi,
I'm trying to process several items in callback function writeLog
d.addCallback(self.writeLog,g=g)
see below.
Can writeLog return DeferredList instead of Deferred?
WriteLog should run several inserts into db (some of which may fail).
Or am I completely wrong here?
Thanks, Pet
def getData(self, *args, **kwargs ):
try:
g = MyClass(self.db)
d = self.getResult(params=kwargs['params'], g=g)
if d:
d.addCallback(self.sendResult)
d.addErrback(log.err)
d.addCallback(self.writeLog,g=g)
d.addErrback(log.err)
return d
except Exception, e:
log.msg('Unknown error in getData:', e)
return False
def writeLog(self, *args, **kwargs):
g = kwargs['g']
dlist = [self.wLog(g, p) for p in g.list]
d = DeferredList(dlist, consumeErrors=True).addCallback(log.err)
return d
def wLog(self, g, p):
return self.db.runInteraction(g.insertLog,p)
More information about the Twisted-Python
mailing list