Skip to content
Extraits de code Groupes Projets
Valider 467456f7 rédigé par Eugen Rochko's avatar Eugen Rochko Validation de GitHub
Parcourir les fichiers

Move clean up of unconfirmed users to sidekiq-scheduler (#4336)

* Move clean up of unconfirmed users to sidekiq-scheduler

* mastodon:daily is now deprecated
parent 2374d635
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
# 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
......@@ -18,3 +18,6 @@
doorkeeper_cleanup_scheduler:
cron: '1 1 * * 0'
class: Scheduler::DoorkeeperCleanupScheduler
user_cleanup_scheduler:
cron: '4 5 * * *'
class: Scheduler::UserCleanupScheduler
# frozen_string_literal: true
namespace :mastodon do
desc 'Execute daily tasks'
desc 'Execute daily tasks (deprecated)'
task :daily do
%w(
mastodon:feeds:clear
mastodon:media:clear
mastodon:users:clear
mastodon:push:refresh
).each do |task|
puts "Starting #{task} at #{Time.now.utc}"
Rake::Task[task].invoke
end
puts "Completed daily tasks at #{Time.now.utc}"
# No-op
# All of these tasks are now executed via sidekiq-scheduler
end
desc 'Turn a user into an admin, identified by the USERNAME environment variable'
......@@ -162,14 +154,10 @@ namespace :mastodon do
end
namespace :users do
desc 'Clear out unconfirmed users'
desc 'Clear out unconfirmed users (deprecated)'
task clear: :environment do
# Users that never confirmed e-mail never signed in, means they
# only have a user record and an avatar record, with no files uploaded
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
# No-op
# This task is now executed via sidekiq-scheduler
end
desc 'List e-mails of all admin users'
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter