aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/info_request.rb
diff options
context:
space:
mode:
authorSeb Bacon <seb.bacon@gmail.com>2012-03-09 11:48:38 +0000
committerSeb Bacon <seb.bacon@gmail.com>2012-03-13 13:55:47 +0000
commit76de470b1424be57934e58275a6116afb8eb9b3c (patch)
tree6ed9df78a8acac8278776c831ae6eb08383d935c /app/models/info_request.rb
parent17373088052029db46f6f8a6243901e442f6015c (diff)
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.
Diffstat (limited to 'app/models/info_request.rb')
-rw-r--r--app/models/info_request.rb15
1 files changed, 15 insertions, 0 deletions
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