I am curently testing a 'CacheableSource' and
'CacheableSourceFactory' that does these things.
Its not ready for prime time yet but it does do the
things mentioned here.  Used like this:

cache://http://www.unreliableserver.com/news.rdf
cache://cocoon://resource/that/takes/a/long/time

  It uses DeltaTimeCacheValidity.  If the validity has
expired, it returns the resouce from the cache and
updates it in another thread.

I'll report back when its ready.


Charles


Carsten Ziegeler wrote:



-----Original Message-----
From: Reinhard Pötz [mailto:[EMAIL PROTECTED]
Sent: Thursday, February 27, 2003 12:39 PM
To: [EMAIL PROTECTED]
Subject: RE: caching




From: Carsten Ziegeler [mailto:[EMAIL PROTECTED]
Reinhard Pötz wrote:


Do you know whether there is some mechanism to get the old


(=expired)


content if the external source is not available after it


expired?


No, it's not possible.


At which 'level' would you solve that problem? Would you write a
special generator?



Yes, exactly.

But I'm not sure if this is a good solution. If the external
source is not available, you usually get a timeout (4 or 5
minutes?). So, you have to wait for this timeout and then
serve from the cache; this time is too long for the casual user.

I would suggest that you always serve from the cache even if
the content has expired. If it has expired you will the cache
in the background. This can be done in a special generator as well.


Am I right you would write a background component that tries to refresh
all expired content of the cache and until it is updated the 'old'
version could be used.


Yes.



Would this fit in the already existing "pipeline-expires" and
"pipeline-caching" concepts?



This would be two different parts, so the
caching algorithm works as always and your generator does his work.
Of course, your generator can be still cacheable and used by the
caching pipeline.

Carsten


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]







--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to