about summary refs log tree commit diff
path: root/app/workers/scheduler/ip_cleanup_scheduler.rb
diff options
context:
space:
mode:
authorsdukhovni <dukhovni@mit.edu>2017-09-14 16:26:38 -0400
committerEugen Rochko <eugen@zeonfederated.com>2017-09-14 22:26:38 +0200
commit67559361e8db437ffee29af9a4fc4ea9e2daf51f (patch)
treec713d8187b6d835a6d144bd26d30690e205722c5 /app/workers/scheduler/ip_cleanup_scheduler.rb
parent4a73615193bae27001c1441a131c0f0961a421b9 (diff)
Add scheduled worker to purge old user IPs (#4951)
* Add scheduled worker to purge old user IPs

* Use ruby 1.9 hash syntax
Diffstat (limited to 'app/workers/scheduler/ip_cleanup_scheduler.rb')
-rw-r--r--app/workers/scheduler/ip_cleanup_scheduler.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/app/workers/scheduler/ip_cleanup_scheduler.rb b/app/workers/scheduler/ip_cleanup_scheduler.rb
new file mode 100644
index 000000000..9f1593c91
--- /dev/null
+++ b/app/workers/scheduler/ip_cleanup_scheduler.rb
@@ -0,0 +1,12 @@
+# frozen_string_literal: true
+require 'sidekiq-scheduler'
+
+class Scheduler::IpCleanupScheduler
+  include Sidekiq::Worker
+
+  def perform
+    time_ago = 5.years.ago
+    SessionActivation.where('updated_at < ?', time_ago).destroy_all
+    User.where('last_sign_in_at < ?', time_ago).update_all(last_sign_in_ip: nil)
+  end
+end