Hi JP:

Message: 1
Date: Thu, 29 Jul 2010 21:24:58 -0000
From: [email protected]
Subject: Re: [pypy-dev] Would the following shared memory model be
    possible?
To: [email protected]
Message-ID:
    <20100729212458.2188.24074246.divmod.xquotient...@localhost.localdomain>
   
Content-Type: text/plain; charset="utf-8"; format="flowed"

On 08:39 pm, [email protected] wrote:
>
>Okay. I attended Ray's Hettinger's talk on Monocle. In the past
>I have encountered situations where I bumped up with the nesting
>problem.
>If I recall, the problem involved request handlers that had a RPC style
>AND made additional Twisted deferred calls:
>
>class MyRequestHandler(...):
>
>    @defer.inlineCallbacks
>    def process(self):
>        try:
>            result = yield
>client.getPage("http://www.google.com";)
>        except Exception, err:
>            log.err(err, "process getPage call
>failed")
>        else:
>            # do some processing with the result
>            return result
>
>looks reasonable but Python will balk.

JP>Aside from the "return result" (should be defer.returnValue(result),
JP>generators can't return with a value), this looks fine to me too.  Why
JP>do you say Python will balk?

Well the return with a value was the deal breaker. I used this example because 
this is where I came face-to-face with nested generators - and generated a 
mistrust for them in regard to exotic uses. There was something else about the 
real example (I am having a hard time finding the posts - somewhere in 2007) - 
I think it was a very early version of PyAMF and it really wanted a return 
(HTTP is okay). I believe under the hood, if the protocol returns a deferred or 
None, the reactor will expect further output in the future.

Cheers,
Andrew

Cheers,
Andrew


      

_______________________________________________
[email protected]
http://codespeak.net/mailman/listinfo/pypy-dev

Reply via email to