diff --git a/app/workers/scheduler/ip_cleanup_scheduler.rb b/app/workers/scheduler/ip_cleanup_scheduler.rb new file mode 100644 index 00000000000..9f1593c9154 --- /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 a502f55933b..5e4310e7ed3 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