@ -502,18 +502,17 @@ namespace :mastodon do
desc 'Remove media attachments attributed to silenced accounts'
desc 'Remove media attachments attributed to silenced accounts'
task remove_silenced : :environment do
task remove_silenced : :environment do
MediaAttachment . where ( account : Account . silenced ) . find_each ( & :destroy )
MediaAttachment . where ( account : Account . silenced ) . select ( :id ) . find_in_batches do | media_attachments |
Maintenance :: DestroyMediaWorker . push_bulk ( media_attachments . map ( & :id ) )
end
end
end
desc 'Remove cached remote media attachments that are older than NUM_DAYS. By default 7 (week)'
desc 'Remove cached remote media attachments that are older than NUM_DAYS. By default 7 (week)'
task remove_remote : :environment do
task remove_remote : :environment do
time_ago = ENV . fetch ( 'NUM_DAYS' ) { 7 } . to_i . days . ago
time_ago = ENV . fetch ( 'NUM_DAYS' ) { 7 } . to_i . days . ago
MediaAttachment . where . not ( remote_url : '' ) . where . not ( file_file_name : nil ) . where ( 'created_at < ?' , time_ago ) . find_each do | media |
next unless media . file . exists?
media . file . destroy
media . save
MediaAttachment . where . not ( remote_url : '' ) . where . not ( file_file_name : nil ) . where ( 'created_at < ?' , time_ago ) . select ( :id ) . find_in_batches do | media_attachments |
Maintenance :: UncacheMediaWorker . push_bulk ( media_attachments . map ( & :id ) )
end
end
end
end
@ -529,14 +528,8 @@ namespace :mastodon do
accounts = Account . remote
accounts = Account . remote
accounts = accounts . where ( domain : ENV [ 'DOMAIN' ] ) if ENV [ 'DOMAIN' ] . present?
accounts = accounts . where ( domain : ENV [ 'DOMAIN' ] ) if ENV [ 'DOMAIN' ] . present?
accounts . find_each do | account |
begin
account . reset_avatar!
account . reset_header!
account . save
rescue Paperclip :: Error
puts " Error resetting avatar and header for account #{ username } @ #{ domain } "
end
accounts . select ( :id ) . find_in_batches do | accounts_batch |
Maintenance :: RedownloadAccountMediaWorker . push_bulk ( accounts_batch . map ( & :id ) )
end
end
end
end
end
end
@ -568,8 +561,8 @@ namespace :mastodon do
desc 'Generates home timelines for users who logged in in the past two weeks'
desc 'Generates home timelines for users who logged in in the past two weeks'
task build : :environment do
task build : :environment do
User . active . includes ( :account ) . find_each do | u |
PrecomputeFeedService . new . call ( u . account )
User . active . select ( :account_id ) . find_in_batches do | users |
RegenerationWorker . push_bulk ( users . map ( & :account_id ) )
end
end
end
end
end
end