about summary refs log tree commit diff
diff options
context:
space:
mode:
-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