On Tue, Feb 18, 2014 at 10:11 AM, Axel Rau <axel....@chaos1.de> wrote:
> Thanks, but the calls in C depend on the data (program branches).
> There are 8 different call parameter sets dependent on contexts.

I still believe that making those dependencies visible is a good idea.

At any rate, in your original code:

    def C(self):
        ...
        x = self.D(...)
        y = self.D(...)
        z = self.D(...)
        ...
        self.E()

D is returning a Deferred, but you're not doing anything with it.  In
fact, all of A..E are returning Deferreds and you're ignoring them.
In an inlineCallbacks-decorated method, you need to yield every
Deferred you receive.

That's why you're seeing D execute in parallel.  You're also seeing A
return before B is complete, and so on.

Dustin

_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to