]> git.openstreetmap.org Git - rails.git/blobdiff - script/cleanup
Replace the old session cleanup daemon with a new script to be run from
[rails.git] / script / cleanup
diff --git a/script/cleanup b/script/cleanup
new file mode 100755 (executable)
index 0000000..2708770
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/bin/env ruby
+
+require File.dirname(__FILE__) + '/../config/environment'
+
+Session.find(:all, :conditions => ["updated_at < ?", 1.week.ago]).each do |session|
+  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
+
+UserToken.delete_all("expiry < NOW()")