[Varnish] #690: Allow for a negative grace period for internal crawler
Varnish
varnish-bugs at varnish-cache.org
Wed May 12 02:15:39 CEST 2010
#690: Allow for a negative grace period for internal crawler
------------------------+---------------------------------------------------
Reporter: mikeytown2 | Type: enhancement
Status: new | Priority: normal
Milestone: | Component: build
Version: 2.0 | Severity: normal
Keywords: grace |
------------------------+---------------------------------------------------
Comment(by LaurentChavet):
Let me explain what the idea is here as I wrote the code.
We want our users to always get cache hit; to do that we can cache pages
for a very long time (could be forever if we have enough memory).
That works fine until pages are changed (we know it at the backend level);
at that point we want to put a new version of the page in the cache
without impacting our users (they should still get their pages from the
cache).
With the changes above, here is what happens:
Page FOO is cached with a large TTL (say 1 week); that part can be
triggered by an internal crawler.
It is served from cache to our users.
1 hour later a change needs to be pushed to that page: the crawler visit
the page with user-agent="crawler" which (through the code change) sets
the current cached page to expired with a grace period so it is still
served. When the crawler request completes it is added to the cache and
any future requests from our users get the new page without anyone (except
for the crawler) getting a cache miss.
I couldn't find any way to implement this feature without the code above.
Let me know if there is a different solution.
Laurent Chavet
--
Ticket URL: <http://www.varnish-cache.org/ticket/690#comment:2>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list