[Zope] Serve large files efficiently from a pipe
Jonathan
dev101 at magma.ca
Tue Nov 8 09:17:49 EST 2005
----- Original Message -----
From: "Roman Suzi" <rnd at onego.ru>
To: <zope at zope.org>
Sent: Tuesday, November 08, 2005 8:47 AM
Subject: Re: [Zope] Serve large files efficiently from a pipe
> On Tue, 8 Nov 2005, Tino Wildenhain wrote:
>
>> Roman Suzi schrieb:
>>>
>>> Hi!
>>>
>>> Newer Zope versions have an interesting ability to serve large files
>>> efficiently given the file name (
>>> http://plope.com/Members/chrism/ploneconf2004/2004pres.txt ).
>>>
>>> What about serving large files given file(-like) handler? It could be
>>> very beneficial sometimes, especially with dynamically generated
>>> content...
>>>
>>> Does Zope has anything for this?
>>>
>>> Thank you for any ideas on this topic!
>>
>> Have a look at:
>>
>> http://www.dataflake.org/software/filecachemanager
>>
>> it implements what you are asking for.
>
> Thank you for the link, however, it seems that it is not what I am looking
> for. I do not want the file contents be read into Python program as a
> whole but piped to the HTTP client. This piece of FileCacheManager code
> give me doubts that this is how it works:
>
>
> """
> cache_entry = FileCacheEntry(self, ob, fname, self._tempfile_path)
> cache_entry.write(data) """
>
> I want something which works similar to Unix pipe but for HTTP client:
>
>
> this_generates_output | process_output >> http_client
>
>
> I do not want to store it anywhere on the FS and/or ZODB! And I certainly
> do not want to read the resulting file as a Python string into RAM. So,
> I cant understand how RAMCache or FILECacheManager is going to help me.
>
> I don't know if writing to response one chunk at a time is proper
> solution? Will Zope store response body or sent it right away? I am not
> sure that it is the later...
It sounds like you are looking for a streaming type of solution. You can
google zope and streaming to get more info.
Jonathan
More information about the Zope
mailing list