[Zope-dev] Serving large files

Jim Fulton jim at zope.com
Mon Sep 18 07:38:00 EDT 2006


On Sep 17, 2006, at 3:09 PM, Sidnei da Silva wrote:

> I remember having a conversation with Jim at some point where he
> proposed a strategy for requests that could potentially take a long
> time to finish. If I recall correctly, he proposed having a separate
> ZODB connection pool.
>
> One thing that is problematic today is serving large files
> from the ZODB (ignoring the upcoming blob support).

Why would you ignore that?

...

> b) If you dump the data to a temp file and return that as a file
>    iterator, it can potentially take twice the time.

OK, so?


> c) If you use RESPONSE.write() you can break other
>    applications. ExternalEditor comes to mind.

I wasn't aware that it would break RESPONSE.write, but, in any
case, this will cause a tempirary file to be created.

...

> I would like to be able to return an iterator that can read from the
> ZODB. That would probably benefit the WSGI integration as well. Anyone
> has ideas about how to solve this?

You could create an entirely new server with different thread-management
semantics.  You could probably do this with the normal Zope publisher  
using
one of the standard threading WSGI servers,

Or you could use a temporary file or wait for blobs.

Jim

--
Jim Fulton			mailto:jim at zope.com		Python Powered!
CTO 				(540) 361-1714			http://www.python.org
Zope Corporation	http://www.zope.com		http://www.zope.org





More information about the Zope-Dev mailing list