|
|
|
@ -502,18 +502,24 @@ namespace :mastodon do
|
|
|
|
|
|
|
|
|
|
desc 'Remove media attachments attributed to silenced accounts'
|
|
|
|
|
task remove_silenced: :environment do
|
|
|
|
|
nb_media_attachments = 0
|
|
|
|
|
MediaAttachment.where(account: Account.silenced).select(:id).find_in_batches do |media_attachments|
|
|
|
|
|
nb_media_attachments += media_attachments.length
|
|
|
|
|
Maintenance::DestroyMediaWorker.push_bulk(media_attachments.map(&:id))
|
|
|
|
|
end
|
|
|
|
|
puts "Scheduled the deletion of #{nb_media_attachments} media attachments"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
desc 'Remove cached remote media attachments that are older than NUM_DAYS. By default 7 (week)'
|
|
|
|
|
task remove_remote: :environment do
|
|
|
|
|
time_ago = ENV.fetch('NUM_DAYS') { 7 }.to_i.days.ago
|
|
|
|
|
nb_media_attachments = 0
|
|
|
|
|
|
|
|
|
|
MediaAttachment.where.not(remote_url: '').where.not(file_file_name: nil).where('created_at < ?', time_ago).select(:id).find_in_batches do |media_attachments|
|
|
|
|
|
nb_media_attachments += media_attachments.length
|
|
|
|
|
Maintenance::UncacheMediaWorker.push_bulk(media_attachments.map(&:id))
|
|
|
|
|
end
|
|
|
|
|
puts "Scheduled the deletion of #{nb_media_attachments} media attachments"
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
desc 'Set unknown attachment type for remote-only attachments'
|
|
|
|
@ -527,10 +533,13 @@ namespace :mastodon do
|
|
|
|
|
task redownload_avatars: :environment do
|
|
|
|
|
accounts = Account.remote
|
|
|
|
|
accounts = accounts.where(domain: ENV['DOMAIN']) if ENV['DOMAIN'].present?
|
|
|
|
|
nb_accounts = 0
|
|
|
|
|
|
|
|
|
|
accounts.select(:id).find_in_batches do |accounts_batch|
|
|
|
|
|
nb_accounts += accounts_batch.length
|
|
|
|
|
Maintenance::RedownloadAccountMediaWorker.push_bulk(accounts_batch.map(&:id))
|
|
|
|
|
end
|
|
|
|
|
puts "Scheduled the download of avatars/headers for #{nb_accounts} remote users"
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|