[Zope-dev] Streaming Response
Oliver Bleutgen
myzope@gmx.net
Thu, 24 Apr 2003 17:01:02 +0200
Shane Hathaway wrote:
>
> Here's a better alternative: when you can, avoid caching altogether. For
> example, if you're storing files using Ape, stream the data directly
> to/from the filesystem. In fact, when sending a file, the server could
> close the database connection, freeing up precious database threads, and
> let asyncore stream the rest of the data from the file.
>
> To do this, we'd need minimal support from the application. OFS.File
> needs to delegate the specifics of data storage and retrieval to a
> subobject. Ape could take the opportunity to replace that subobject
> with something that reads and writes the file directly.
Maybe this could include the possibility to not serve the file via
ZServer at all. I did a small patch to ExtFile for that. If the file
object is accessed via zope, it returns a redirect to a computed
location where then the file is served from apache.
I think there are a lot of use cases for that, even if ZServer's
performance isn't considerably worse than e.g. apache's.
You might want to stream multimedia files with a streaming server but
manage them in zope, there might be cases when ZServer's http
implementation is not up to the task, as it was with pdf a while ago
IIRC. Maybe this would also help with certain quirks in some WebDAV
implementations where apache might have a workaround, but ZServer has
not (yet).
cheers,
oliver