about summary refs log tree commit diff
path: root/app/workers/scheduler/user_cleanup_scheduler.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-07-24 16:17:55 +0200
committerGitHub <noreply@github.com>2017-07-24 16:17:55 +0200
commit467456f7a19371fe4d50f25751a1d32a63e9f75c (patch)
tree0baf637b3ede9c70a1a0427eafc245ccdcc2976c /app/workers/scheduler/user_cleanup_scheduler.rb
parent2374d63536fd9459243a235763c87f8e9fdfc581 (diff)
Move clean up of unconfirmed users to sidekiq-scheduler (#4336)
* Move clean up of unconfirmed users to sidekiq-scheduler

* mastodon:daily is now deprecated
Diffstat (limited to 'app/workers/scheduler/user_cleanup_scheduler.rb')
-rw-r--r--app/workers/scheduler/user_cleanup_scheduler.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/workers/scheduler/user_cleanup_scheduler.rb b/app/workers/scheduler/user_cleanup_scheduler.rb
new file mode 100644
index 000000000..a8f8fbd83
--- /dev/null
+++ b/app/workers/scheduler/user_cleanup_scheduler.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+require 'sidekiq-scheduler'
+
+class Scheduler::UserCleanupScheduler
+  include Sidekiq::Worker
+
+  def perform
+    User.where('confirmed_at is NULL AND confirmation_sent_at <= ?', 2.days.ago).find_in_batches do |batch|
+      Account.where(id: batch.map(&:account_id)).delete_all
+      User.where(id: batch.map(&:id)).delete_all
+    end
+  end
+end