[Twisted-Python] executing .rpy in a thread

Andrew Bennetts andrew-twisted at puzzling.org
Fri Sep 12 21:51:59 MDT 2003


On Wed, Sep 03, 2003 at 11:18:37PM -0700, stephan wrote:
> 
> 
> Say I want to execute blocking code in a .rpy file. Can't I just execute
> all the code in a separate thread? I've found the following code to
> execute a function in a thread. How could I add a callback to that
> thread so I could get back the whole html page back from that
> "notthreadSafe" function and return it to the client (web browser)?

The easiest way to run code in a thread and get the result back is with
twisted.internet.threads.deferToThread.  Your Resource's render method would
need to return NOT_DONE_YET, and you'd need to add callbacks to the Deferred
from deferToThread that call request.write(...) and request.finish().

-Andrew.





More information about the Twisted-Python mailing list