about summary refs log tree commit diff
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
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
-rw-r--r--app/workers/scheduler/ip_cleanup_scheduler.rb12
-rw-r--r--config/sidekiq.yml3
2 files changed, 15 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
diff --git a/config/sidekiq.yml b/config/sidekiq.yml
index a502f5593..5e4310e7e 100644
--- a/config/sidekiq.yml
+++ b/config/sidekiq.yml
@@ -24,3 +24,6 @@
   subscriptions_cleanup_scheduler:
     cron: '2 2 * * 0'
     class: Scheduler::SubscriptionsCleanupScheduler
+  ip_cleanup_scheduler:
+    cron: '0 4 * * *'
+    class: Scheduler::IpCleanupScheduler