X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/ca0c8d2f2346d81ff203c254eda62a772c64bec2..93a9f31bf0e1cd3d5aec478aeef65c8132b02bdd:/script/cleanup diff --git a/script/cleanup b/script/cleanup index 085c3aeef..e829be176 100755 --- a/script/cleanup +++ b/script/cleanup @@ -1,30 +1,12 @@ #!/usr/bin/env ruby -require File.dirname(__FILE__) + '/../config/environment' +require File.join(File.dirname(__FILE__), "..", "config", "environment") -last_session_id = 0 +OauthNonce.where("timestamp < EXTRACT(EPOCH FROM NOW() - INTERVAL '1 day')").delete_all +OauthToken.where("invalidated_at < NOW() - INTERVAL '28 days'").delete_all +RequestToken.where("authorized_at IS NULL AND created_at < NOW() - INTERVAL '28 days'").delete_all -begin - sessions = Session.find(:all, - :conditions => ["updated_at < ? and id > ?", 1.week.ago, last_session_id], - :order => :id, :limit => 1000) - - sessions.each do |session| - last_session_id = session.id - - begin - if session[:user] and User.find(session[:user]) - session.destroy if session.updated_at < 1.month.ago - else - session.destroy - end - rescue Exception => ex - puts "Invalid session #{session.session_id}: #{ex.to_s}" - session.destroy - end - end -end while sessions.length > 0 - -UserToken.delete_all("expiry < NOW()") +Doorkeeper::AccessGrant.where("revoked_at < NOW() - INTERVAL '28 days' OR (created_at + expires_in * INTERVAL '1 second') < NOW() - INTERVAL '28 days'").delete_all +Doorkeeper::AccessToken.where("revoked_at < NOW() - INTERVAL '28 days' OR (created_at + expires_in * INTERVAL '1 second') < NOW() - INTERVAL '28 days'").delete_all exit 0