This is my proposed solution to #205992: allow nodequeues to clear page cache when they get updated.
From that issue (typos and all):
How about a configurable option for each queue where administrators can specify the maximum amount of time that can pass since the queue or any of its subqueues was is updated and the page cache is cleared. On each crun run, nodequeue could decide to clear the page cache.
Allowing each queue to have a unique lifetime allows changes to more important queues, (ie "Frontpage Queue") to be visible to anonymous users more quickly without clearing the cache each time a less important queue (ie "Joe User's personal favorites queue") is updated. Having it be cron-based prevents administrators from having to keep track of queue changes and clear the page cache manually.
Comments
Comment #1
gregglesfwiw, I believe that core clears the entire page cache whenever a new comment is posted. I think a new comment is a similar event to a nodequeue getting changed so, IMO, it would be reasonable for nodequeue to clear the entire cache whenever an item is added/removed/changed in a queue. Perhaps you could make it something that people have to enable in a system wide configuration rather than on a per queue basis. Something about "yet another setting on a per queue basis" feels like UI overload to me.
Comment #2
blazindrop commentedI came across the same issue posted by ezra, but I see this hasn't been assigned. I'm wondering if there was an alternative approach to expiring the cache when a nodequeue is reordered? Ideally, the nodequeue would expire it's surrounding page and not the entire cache.
Comment #3
Anonymous (not verified) commentedsubscribing
Comment #4
willmoy commentedI would like to get to this soon but no guarantee, I may have to settle for a hack.
Comment #5
joachim commented> On each cron run, nodequeue could decide to clear the page cache.
By defualt, cron runs every 3 hours. At best, the system admin UI lets you set it to every hour.
If you're using nodequeue to make something like a front page carousel, clients will want that to change immediately. So doing it with a delay of up to an hour isn't right.
I think the right fix is the one I proposed over at #205992: allow nodequeues to clear page cache when they get updated -- nodequeues should be able to clear the page cache when they get updated.
Comment #6
othermachines commentedSince there doesn't seem to be any further discussion on this proposal, marking as duplicate of #205992: allow nodequeues to clear page cache when they get updated.