diff options
author | Seb Bacon <seb.bacon@gmail.com> | 2012-05-02 08:14:00 +0100 |
---|---|---|
committer | Seb Bacon <seb.bacon@gmail.com> | 2012-05-02 08:14:00 +0100 |
commit | e987fc36b4c9d22c6cb084595c176ca4114f5730 (patch) | |
tree | 3675589ef7202b686bcccf24d7026e0a98120da5 /app/models/purge_request.rb | |
parent | f2367311f662ae5b8da40e59d980b4a6e0726a6b (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.rb | 16 |
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 |