aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/purge_request.rb
diff options
context:
space:
mode:
authorSeb Bacon <seb.bacon@gmail.com>2012-05-02 08:14:00 +0100
committerSeb Bacon <seb.bacon@gmail.com>2012-05-02 08:14:00 +0100
commite987fc36b4c9d22c6cb084595c176ca4114f5730 (patch)
tree3675589ef7202b686bcccf24d7026e0a98120da5 /app/models/purge_request.rb
parentf2367311f662ae5b8da40e59d980b4a6e0726a6b (diff)
Add a method to run the purge process in a continuous loop
Diffstat (limited to 'app/models/purge_request.rb')
-rw-r--r--app/models/purge_request.rb16
1 files changed, 15 insertions, 1 deletions
diff --git a/app/models/purge_request.rb b/app/models/purge_request.rb
index a96d0f39e..1450058b1 100644
--- a/app/models/purge_request.rb
+++ b/app/models/purge_request.rb
@@ -6,10 +6,24 @@
#
class PurgeRequest < ActiveRecord::Base
- require 'open-uri'
def self.purge_all
+ done_something = false
for item in PurgeRequest.all()
item.purge
+ done_something = true
+ end
+ return done_something
+ end
+
+ def self.purge_all_loop
+ # Run purge_all in an endless loop, sleeping when there is nothing to do
+ while true
+ sleep_seconds = 1
+ while !purge_all
+ sleep sleep_seconds
+ sleep_seconds *= 2
+ sleep_seconds = 300 if sleep_seconds > 300
+ end
end
end