From 76de470b1424be57934e58275a6116afb8eb9b3c Mon Sep 17 00:00:00 2001 From: Seb Bacon Date: Fri, 9 Mar 2012 11:48:38 +0000 Subject: first stab at sending PURGE requests to upstream varnish for request pages. Next step: making it asynchronous, e.g. with a queue of things to purge via a cron job. --- app/models/info_request.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'app/models/info_request.rb') diff --git a/app/models/info_request.rb b/app/models/info_request.rb index b5a1cd833..3a1f4b9f3 100644 --- a/app/models/info_request.rb +++ b/app/models/info_request.rb @@ -1042,6 +1042,21 @@ public end return ret end + + before_save(:mark_view_is_dirty) + def mark_view_is_dirty + self.view_is_dirty = true + self.save! + end + + def self.purge_varnish + for info_request in InfoRequest.find_by_view_is_dirty(true) + url = "/request/#{info_request.url_title}" + purge(url) + info_request.view_is_dirty = true + info_request.save! + end + end end -- cgit v1.2.3