diff options
author | Fire Demon <firedemon@creature.cafe> | 2020-09-30 12:25:13 -0500 |
---|---|---|
committer | Fire Demon <firedemon@creature.cafe> | 2020-09-30 12:25:13 -0500 |
commit | 22e7a7947900cc974715b0c9d1d6b1a44d2ed1eb (patch) | |
tree | 918ab95c4f465c9c1fbfcd6706483e3310a38ce5 /app/workers/scheduler | |
parent | 63046c8cb9df8e797d53566f2050313d757b089b (diff) | |
parent | b5edf30160eab3776e44b34325a4ea00d9f71dc5 (diff) |
Merge remote-tracking branch 'upstream/master' into merge-glitch
Diffstat (limited to 'app/workers/scheduler')
-rw-r--r-- | app/workers/scheduler/user_cleanup_scheduler.rb | 13 |
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 index dade63028..4213c243e 100644 --- a/app/workers/scheduler/user_cleanup_scheduler.rb +++ b/app/workers/scheduler/user_cleanup_scheduler.rb @@ -6,6 +6,13 @@ class Scheduler::UserCleanupScheduler sidekiq_options lock: :until_executed, retry: 0 def perform + clean_unconfirmed_accounts! + clean_suspended_accounts! + end + + private + + def clean_unconfirmed_accounts! User.where('confirmed_at is NULL AND confirmation_sent_at <= ?', 2.days.ago).reorder(nil).find_in_batches do |batch| Account.where(id: batch.map(&:account_id)).delete_all User.where(id: batch.map(&:id)).delete_all @@ -16,4 +23,10 @@ class Scheduler::UserCleanupScheduler User.where(id: batch.map(&:id)).delete_all end end + + def clean_suspended_accounts! + AccountDeletionRequest.where('created_at <= ?', AccountDeletionRequest::DELAY_TO_DELETION.ago).reorder(nil).find_each do |deletion_request| + Admin::AccountDeletionWorker.perform_async(deletion_request.account_id) + end + end end |