How to "monitor" parallel executions of Deferreds
My apologies. Sorry, this should have gone to twisted-python instead. ========== Hello, I need to implement a function (say, myfunc) that fires several independent Deferreds (using deferToThread), and that returns a deferred itself. A client of this function (say, client) is expected to do something like this: def client(): def done(success) if success: print 'd1 and d2 are done' d = myfunc() d.addCallback(done) ... myfuct() above does something like this: def myfunc(): def checkFunc1(success): ... def checkFunc2(success): ... d = defer.Deferred() d1 = deferToThread(func1).addCallback(checkFunc1) d2 = deferToThread(func2).addCallback(checkFunc2) d.addCallback(????) return d Clearly d, d1, and d2 in the above are disconnected. And I don't want to serialize d1 and d2 which would be a way to connect them all. The problem is I don't know how d should be defined. The idea is that the 'done' function in the client function is only called when both threads d1 and d2 are done. Can you give me any suggestions on how to implement myfunc()? Thank you, -- Pedro
participants (2)
-
Marian Schubert
-
Pedro Sanchez